簡體   English   中英

撤消或刪除slideUp

[英]Undo or Remove slideUp

我有以下代碼:

        $("#content-listing").slideUp(800, function(){
            $("#loading").hide();
        });

哪個工作正常。 但是,有沒有一種方法可以“撤消” slideUp或刪除其功能?

我正在使用matchMedia根據用戶的屏幕大小來應用某些功能。 如果調整了瀏覽器窗口的大小, slideUp干擾新轉換的布局,因此我試圖找到一種方法來刪除它?

我認為您正在尋找$(“#...”)。stop();

http://api.jquery.com/stop/

我將在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();
    });
}
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')
      }    

我最終要做的是將一個類應用於body標簽onclick以便我可以專門引用移動div來將jQuery voodoo轉換為:

$("body").addClass("mobile");

到哪個:

    $("body.mobile #content-listing").slideUp(function(){
        $("#loading").hide();
    });

然后,一旦window.resize發生,我就從body移除了mobile類:

$("body").removeClass("mobile");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM