向jQuery函数添加另一个CSS id

向jQuery函数添加另一个CSS id,jquery,css,scroll,Jquery,Css,Scroll,我成功地使用此代码在滚动期间淡入/淡出我的菜单id#shiftnav toggle main。我希望在我的函数中加入另一个id,例如#side toggle,但我不确定是否有更好的方法来实现这一点,而不必为新id复制我的所有代码 var menu = jQuery("#shiftnav-toggle-main"); var opacity = menu.css("opacity"); var scrollStopped; var fadeInCallback = function () {

我成功地使用此代码在滚动期间淡入/淡出我的菜单id
#shiftnav toggle main
。我希望在我的函数中加入另一个id,例如
#side toggle
,但我不确定是否有更好的方法来实现这一点,而不必为新id复制我的所有代码

var menu = jQuery("#shiftnav-toggle-main");
var opacity = menu.css("opacity");
var scrollStopped;
var fadeInCallback = function () {
    if (typeof scrollStopped != 'undefined') {
        clearInterval(scrollStopped);
    }
    scrollStopped = setTimeout(function () {
        menu.animate({ opacity: 1 }, "slow");
    }, 500);
};
jQuery(window).scroll(function() {
     if (!menu.is(":animated") && opacity == 1) {
     menu.animate({ opacity: 0 }, "slow", fadeInCallback);
     } else {
         fadeInCallback.call(this);
     }
});

您可以创建一个处理该机制的函数:

let scrollStopped;

let fadeInCallback = function() {
  if (typeof scrollStopped != 'undefined') {
    clearInterval(scrollStopped);
  }
  scrollStopped = setTimeout(function() {
    menu.animate({
      opacity: 1
    }, "slow");
  }, 500);
};

let handleScrollFade = function(id) {
  let menu = $(id);
  let opacity = menu.css("opacity");

  $(window).scroll(function() {
    if (!menu.is(":animated") && opacity == 1) {
      menu.animate({
        opacity: 0
      }, "slow", fadeInCallback);
    } else {
      fadeInCallback.call(this);
    }
  });

}

handleScrollFade('#shiftnav-toggle-main');
handleScrollFade('#side-toggle');

您可以尝试使用
jQuery(“shiftnav toggle main,#side toggle”)Sletheren,我无法添加引用到外部插件的类bcs。。Chirag,我已经试过了,但是没有成功。Ivan,如果把侧开关作为iframe加载,这个会成功吗@JoannaMikalai不确定,但我认为它应该有效。。你想让iframe在滚动时褪色吗?是的,这就是我要找的。。我需要修改你的函数为严格模式,然后我会测试它。