請原諒我,因爲我的問題可能是愚蠢的,但我是一個初學者在腳本編寫,並且真的需要一些幫助。 當按下按鈕時,我想要一個元素從頁面上方向下滑動,並在再次按下按鈕時向後滑動。這個元素應該填充它放置的容器的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事件上實施節流,以便在用戶完成調整大小時進行動畫製作。 –