gpt4 book ai didi

javascript - 使 delay() 与插件一起工作

转载 作者:行者123 更新时间:2023-11-29 15:03:27 29 4
gpt4 key购买 nike

我有一个小插件,用于根据几个可变因素设置元素的高度。在页面加载时,我想要延迟以防止将高度设置为数秒。我知道延迟只对效果有效,有没有办法可以将我的插件注册为效果,或者我是否需要以其他方式执行此操作?

希望启动代码:

$(".app_advert").delay(10000).set_height(2000);

插件代码:

       //SetHeight plugin
(function($){
$.fn.extend({
set_height: function(time, callback){
scroll = $(window).scrollTop();

win_height = $(window).height();
document_height = $(document).height();


footer_height = $('#footer').height();
footer_offset = (document_height-(win_height+scroll));
footer_remainder = footer_height-footer_offset;

return this.each(function(){
var x = $(this);

if(footer_height-footer_offset<=0){
height = 0;
} else {
height = footer_height-footer_offset;
}
$(x).stop(true, false).animate({bottom: height}, time, function(){
if (callback && typeof callback == 'function') { // make sure the callback is a function
callback.call(this); // brings the scope to the callback
}

});
});
}
});

})(jQuery);

最佳答案

您需要手动调用 jQuerys .queue()。可能看起来像;

$(".app_advert").delay(10000).queue(function() {
$(this).set_height(2000);
$(this).dequeue();
});

您甚至可以在后面的构造上链接更多排队的方法。请注意,所有 fx 方法 默认情况下都会排队等待您要应用于当前包装集的任何其他方法,调用另一个 .queue()

阅读:http://api.jquery.com/queue

关于javascript - 使 delay() 与插件一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452104/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com