做的是web项目,其中有一个div(a)是浮动不固定位置的,永远跟着另一个div(b)。刚开始进来jsp页面的时候我可以通过offset得到div(b)处于浏览器的宽度和高度,从而把把div(a)定位到div(b)之后,但是浏览器的"窗口"大小改变后,我不能够立马的div(b)的最新宽度,但是能得到最新高度。我百度了一下,用延迟500毫秒可以解决这个问题,但是我老大不同意这种做法,所以不知道你们大家遇到这个问题是怎么解决的,有没有浏览器大小改变 “后” 触发事件呢。。。。 谢谢了啊
解决你这个问题
有2种思路
简单点的直接用css,a不要用浮动定位 直接相对b绝对定位 这样a就可以跟着b运动
另一种 就是写一个初始化js函数 在页面加载的时候调用 初始化 a 和b
然后在window.onresize 将初始化 函数放进去 就可以做到 联动了
第一次怎么做的 第二次就怎么做 第二次的逻辑和第一次一样
如果真的有延时问题 那就settimeout
<script> //1. js写法 window.onresize = function () { alert("我会在浏览器尺寸改变时弹出来!") } // 2.jquery写法 $(function () { $(window).resize(function () { alert("我会在浏览器尺寸改变时弹出来!") }) }) </script>
用这个试试!
两种方法都测了都不可以,拿不到div到浏览器最新的宽度,要延迟一下才能拿到到。
@TellMe04: div到浏览器最新的宽度?不太明白你要干嘛,可以加个图说明一下。
示例:https://jsfiddle.net/Lkfv57Lf/
但是如果div有动画,需要捕捉animation相关的事件,可以参考: https://www.sitepoint.com/css3-animation-javascript-event-handlers/
用媒体查询