首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery函数需要单击两次

问jQuery函数需要单击两次
EN

Stack Overflow用户
提问于 2012-08-25 06:04:05
回答 2查看 661关注 0票数 1

如果存在一个特定的类('current'),当单击一个标签时,我需要调整一个元素的CSS。单击选项卡时,将添加类“current”。我的代码可以工作,但它需要两次点击-我认为是因为在第一次点击时,类被添加了,然后在第二次点击时,jQuery会检测到它。下面是jquery代码:

代码语言:javascript
复制
    $('ul.tabs a').click(function() {
     if($('a#tab5').hasClass('current')) {
        $('#rightCorner').css("top","1px");
     } else {
        $('#rightCorner').css("top","7px");
     };
})

有没有办法让它只需点击一下就能工作?

谢谢-乔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-25 06:08:36

您可以将添加current类的代码和监视tab5的单击处理程序组合在一起吗?这允许您添加类,然后执行检查。在您的情况下,操作顺序出现了问题。

代码语言:javascript
复制
$('ul.tabs a').click(function() {     
     $('ul.tabs a').removeClass('current');
     $(this).addClass('current');
     if (this.id == 'tab5') {
          $('#rightCorner').css("top","1px");
     }
     else {
          $('#rightCorner').css("top","7px");
     }
})

更新:

使用CSS而不是if语句来处理tab 5可能更容易一些。

代码语言:javascript
复制
ul.tabs a#tab5 { top: 7px; }
ul.tabs a#tab5.current { top 1px; }
票数 0
EN

Stack Overflow用户

发布于 2012-08-25 06:14:40

在else分支中,您可能需要添加

代码语言:javascript
复制
$('a#tab5').addClass('current');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12117221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档