我使用jQUery UI方法switchClass()是因为我想控制动画的持续时间。有一件事让我感到困惑,那就是switchClass()方法中的标识类。我在一节课之前用“.”而不是另一节课吗?下面是我的代码。事实上,它不起作用。有更优雅的解决方案吗?

 $(document).ready(function(){
    $(window).on("scroll touchmove", function () {
        var x = $(document).scrollTop();
        if( x > 0 ) {
         $('.header').switchClass('header', '.header.tiny', 500);
         $('.logo').switchClass('logo', '.logo.tiny', 500);
        } else {
         $('.logo.tiny').switchClass('tiny', '.logo', 500);
         $('.header.tiny').switchClass('tiny', '.header', 500);
       };
      });
    });

https://jqueryui.com/switchClass/

最佳答案

你不需要“.”请看:

 $(document).ready(function(){
$(window).on("scroll touchmove", function () {
    var x = $(document).scrollTop();
    if( x > 0 ) {
     $('div.header').switchClass('header', 'tiny', 500);
     $('div.logo').switchClass('logo', 'tiny', 500);
    } else {
     $('div.logo div.tiny').switchClass('tiny', 'logo', 500);
     $('div.header div.tiny').switchClass('tiny', 'header', 500);
   };
  });
});

并尝试用对象定义类,例如:div.header

关于jquery - scrollTop()if/else switchClass()动画,用于缩小导航栏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31304285/

10-12 12:25