我有以下代码:
$("#content-listing").slideUp(800, function(){
$("#loading").hide();
});
哪个工作正常。但是有没有一种方法可以“撤消”slideUp 或删除它的功能?
我matchMedia
用来根据用户的屏幕尺寸应用某些功能。如果调整浏览器窗口的大小,slideUp
会干扰新转换的布局,所以我想找到一种方法来删除它?
我有以下代码:
$("#content-listing").slideUp(800, function(){
$("#loading").hide();
});
哪个工作正常。但是有没有一种方法可以“撤消”slideUp 或删除它的功能?
我matchMedia
用来根据用户的屏幕尺寸应用某些功能。如果调整浏览器窗口的大小,slideUp
会干扰新转换的布局,所以我想找到一种方法来删除它?
if ($(window).width() <= 400 ) {
$("#content-listing").slideUp(800, function(){
$("#loading").hide();
}
您也可以尝试resize
事件:
$(window).resize(function() {
var w = $(this).width();
if (w <= '400') {
$("#content-listing").slideUp(800, function(){
$("#loading").hide();
});
}
})
更新:
尝试dequeue()
方法:
$("#content-listing").queue('slide', function(){
$(this).slideUp(800, function(){
$("#loading").hide();
});
})
if (w <= '400') {
$("#content-listing").dequeue('slide')
}
我认为您正在寻找 $("#...").stop();
我最终做的是对body
标签应用一个类,onclick
以便我可以专门参考移动 div 来投射 jQuery voodoo:
$("body").addClass("mobile");
到哪:
$("body.mobile #content-listing").slideUp(function(){
$("#loading").hide();
});
然后一旦window.resize
发生,我mobile
从body
:
$("body").removeClass("mobile");
我会在 slideUp 代码周围放置一个条件语句。
就像是
var isMobile = //whatever you're using to decide what your toggle threshold is
if(isMobile)
{
$("#content-listing").show();
//Or whatever you want to do in the case of a small screen
} else {
$("#content-listing").slideUp(800, function(){
$("#loading").hide();
});
}