请原谅我,因为我的问题可能是愚蠢的,但我是一个初学者在脚本编写,并且真的需要一些帮助。 当按下按钮时,我想要一个元素从页面上方向下滑动,并在再次按下按钮时向后滑动。这个元素应该填充它放置的容器的100%,所以首先我用.css('height')来收集容器的高度,然后将这个值设置为元素大小及其位置。然后去一些动画效果。使用js .resize事件的奇怪延迟
$(document).ready(function(){
//gather dimentions
var x=($("#screenctr").css("height"));
var y=parseFloat(x);
var z=(y*-1 + 'px');
$(".roll").css("height", x);
$(".roll").css("top", z);
//slides from above
$(".bloop").click(function(){
$(".roll").animate({
top:'0px'}, "slow");
$(".bloop").css("display","none");
$(".bzook").css("display","block");
});
//slides back
$(".bzook").click(function(){
$(".roll").animate({
top:z}, "slow");
$(".bzook").css("display","none");
$(".bloop").css("display","block");
});
});
它工作正常。但我也希望它在窗口大小调整时改变大小和位置。所以我写了相同的脚本 $(window).resize(function(){}
它仍然有效,但很奇怪。起初,当页面刚刚加载时,一切正常,并且在第一次调整大小后,它也从正确的上方落下。但是从那时起,当它被隐藏起来时,几秒钟内没有任何事情发生,然后它开始非常缓慢地向上拖动。再次下降 - 没问题,长时间延迟后再次拖延。 有没有人知道它可以造成什么?谢谢。
这里是页:http://production.zukaty.ru/
很可能是因为每次调整大小事件发生时都会启动一次动画,每次调整大小可能会有数百次(如果不是数千次)。我建议在resize事件上实施节流,以便在用户完成调整大小时进行动画制作。 –