最近做一个官网, 在添加动画效果的过程中碰到一个疑难杂症, 就是用jquery获取元素的偏移量($(el).offset().top)的时候新开页面的时候是一个数值, 按F5刷新之后页面还是在原来的位置, 但是他的偏移值却发生了变化.
- 这是我执行动画的代码:
var downTop = $(".zxg-download").offset().top;
var windowTop;
$(window).scroll(function () {
windowTop = $(document).scrollTop();
console.log('downTop--' + downTop + ',' + 'windowTop--' + windowTop);
if(windowTop >= (downTop - 200)) {
$(".download-img").animate({left: '0'},2000);
}
});
- 新开页面是滚动到指定位置, 打印出来的值是:
- 在当前页面按F5刷新之后, 打印出来的值是:
- 相差了1000像素左右, 影响很大, 这里有需要说明的是我的头部和底部是通过
.load()
加载出来的(而且是我在引入上面的js文件之后,直接在页面的写的代码,但是头部最多200像素,所以应该不是这里的问题):
$(function() {
// 引入页面公共部分
$(".header").load("./header.html");
$(".footer").load("./footer.html");
})
想问问大家有没有解决方案! 感谢!!!
$(".zxg-download").offset().top
, 这样就不会有问题了.$(function(){})
没效果, 不知道为什么.