【问题标题】:Disable hover effect of nav toggle when nav menu is open导航菜单打开时禁用导航切换的悬停效果
【发布时间】:2018-12-09 20:43:36
【问题描述】:

我正在尝试在导航菜单打开时禁用导航切换按钮的悬停效果。当单击按钮并运行 if 语句时,我正在切换一个类,该语句表示它应该只在类未切换时才运行动画。我可以在控制台中看到 div.toggle-btn 正在切换 disable-hover 类,但它并没有像我期望的那样禁用/启用 javascript 代码。

var btnhover = new TimelineMax({paused: true});

var navtoggle = $('.toggle-btn').hasClass('disable-hover');

if (navtoggle === false) {
  if ($(window).width() >= 768) {
    btnhover.to(".one", .3, {
       y: 5,
       ease: Expo.easeInOut,
    })}
  else {
    btnhover.to(".one", .3, {
       x: -5,
       ease: Expo.easeInOut,
    })
  }
}

if (navtoggle === false) {
  if ($(window).width() >= 768) {
    btnhover.to(".two", .3, {
       y: -5,
       ease: Expo.easeInOut,
       delay: -.3
    })}
  else {
    btnhover.to(".two", .3, {
       x: 5,
       ease: Expo.easeInOut,
       delay: -.3
    })
  }
}

function btnover(){
  if (navtoggle === false) {
    btnhover.play();
  }
}

function btnout(){
  if (navtoggle === false) {
    btnhover.reverse();
  }
}

$(".toggle-btn").hover(btnover, btnout);


function disableHover() {
  $("div.toggle-btn").toggleClass("disable-hover");
}

$(document).on("click", ".toggle-btn", function() {
      disableHover();
});

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您只检查 navToggle 是否为假,我认为您还需要检查真实值

    【讨论】:

      猜你喜欢
      • 2018-10-06
      • 2014-05-03
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多