Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如果单击一次,如何获取返回false的链接,如果再次单击,如何获取返回true的链接?_Jquery_Html_Css - Fatal编程技术网

Jquery 如果单击一次,如何获取返回false的链接,如果再次单击,如何获取返回true的链接?

Jquery 如果单击一次,如何获取返回false的链接,如果再次单击,如何获取返回true的链接?,jquery,html,css,Jquery,Html,Css,默认设置样式时,父菜单项从视图中隐藏。当它们通过鼠标悬停时,会添加类“show” 然而,我希望平板电脑也能采用类似的概念,它依赖于点击或双击。我希望在单击父菜单项时添加类“show”,如果再次单击,则返回true并打开链接 HTML jQuery $('#nav .wsite-menu-item-wrap a').on('click', function() { if($("#nav .wsite-menu-item-wrap a").hasClass("show")){ retu

默认设置样式时,父菜单项从视图中隐藏。当它们通过鼠标悬停时,会添加类“show”

然而,我希望平板电脑也能采用类似的概念,它依赖于点击或双击。我希望在单击父菜单项时添加类“show”,如果再次单击,则返回true并打开链接

HTML

jQuery

$('#nav .wsite-menu-item-wrap a').on('click', function() {

  if($("#nav .wsite-menu-item-wrap a").hasClass("show")){
    return true;
  }
  else {
    return false;
    $(this).addClass('show');
  }

});

首先注意,当点击
return
语句时,逻辑流退出当前函数。因此,您当前的
addClass()
不会做任何事情

您还需要将父级
li
的同级
a
元素中的
show
类删除到已单击的元素中

从这里开始,使用
hasClass()
的逻辑是正确的。试试这个:

$('#nav.wsite菜单项包装a')。在('click',函数(e)上{
if($(this).hasClass(“show”)){
console.log(“后续单击”);
}否则{
e、 预防默认值();
$(this).addClass('show').closest('li').Sides().find('a').removeClass('show');
log(“第一次单击”);
}
});
.show{
背景:橙色;
颜色:白色;
}

  • 您有一个函数,它可以在类不存在时添加类,或者在类已经存在时删除类

    $('nav.wsite菜单项wrap a')。在('click',function()上{
    $(this.toggleClass('show');
    });
    
    .show{
    背景:橙色;
    颜色:白色;
    }
    
    

  • return语句后的代码不可访问。您需要在退出函数之前添加类。@Weebs-您的类定义中也有语法错误,应该是
  • 。您的类名缺少一个双引号。
    
    .show {
      background:orange;
      color:white;
    }
    
    $('#nav .wsite-menu-item-wrap a').on('click', function() {
    
      if($("#nav .wsite-menu-item-wrap a").hasClass("show")){
        return true;
      }
      else {
        return false;
        $(this).addClass('show');
      }
    
    });