1

私は次のコードを持っています:

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

これは問題なく動作します。しかし、slideUpを「元に戻す」か、その機能を削除する方法はありますか?

matchMediaユーザーの画面サイズに応じて特定の機能を適用するために使用しています。ブラウザウィンドウのサイズが変更slideUpされ、新しく変換されたレイアウトに干渉する場合、それを削除する方法を見つけようとしていますか?

4

4 に答える 4

0

$( "#...")。stop();を探していると思います。

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

于 2012-06-29T00:04:14.207 に答える
0

スライドアップコードの周りに条件文を配置します。

何かのようなもの

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();
    });
}
于 2012-06-29T00:09:10.150 に答える
0
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')
      }    
于 2012-06-29T00:11:17.747 に答える
0

私がやったことは、bodyタグにクラスを適用onclickして、モバイルdivを具体的に参照してjQueryブードゥーをキャストできるようにすることでした。

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

これに:

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

そして、発生したら、クラスを:からwindow.resize削除します。mobilebody

$("body").removeClass("mobile");
于 2012-06-29T16:23:53.197 に答える