javascript - .next() 跳转两步而不是一步,有什么问题吗?

标签 javascript jquery addclass

我正在做一个基于网络的测验。 当我按下一个答案时,我希望顶部的计数更改为下一个,但是它不断跳过一位数字,跳转到下一个数字(即从 I 到 III,而不是 I 到 III)。 我做错了什么?

网站:http://www.carlpapworth.com/friday-quiz/#

HTML:

<ul id="count">
                <li><h4>I</h4></li>
                <li><h4>II</h4></li>
                <li><h4>III</h4></li>
                <li><h4>IV</h4></li>
                <li><h4>V</h4></li>
                <li><h4>VI</h4></li>
                <li><h4>VII</h4></li>
                <li><h4>VIII</h4></li>
                <li><h4>IX</h4></li>
                <li><h4>X</h4></li>
</ul>

JS:

  $('#count li:first').addClass('cCurrent');
        $('.qAnswers li a').click(qNext);
        function qNext(){
          $('.cCurrent').next('#count li').addClass('cCurrent');
          $('.cCurrent:first').removeClass('cCurrent'); 
        }

最佳答案

js/custom.js脚本在 <head> 中被提及两次 。您应该删除其中之一,否则点击事件会注册两次。

此外,.next()里面的表达式看起来有点奇怪(你不需要 #count ,甚至可能不需要 li )并且函数本身可以简化为:

function qNext()
{
    $('#count .cCurrent')
        .removeClass('cCurrent')
        .next('li')
        .addClass('cCurrent');
}

它删除当前突出显示的类 <li> ,然后移至下一个 <li>并应用 cCurrent在那里上课。

最后,您不应该为您的答案提供一个泄露答案正确或错误的类。您的答案是这样的:

<a href="#" class="qWrong">xxx</a>
<a href="#" class="qCorrect">xxx</a>

如果有人查看源代码,点击什么内容就会非常明显。

关于javascript - .next() 跳转两步而不是一步,有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14974604/

相关文章:

javascript - 是否可以在 Javascript 中访问 Sitecore WFFM 控件的 DropList 值?

javascript - 在 raphael paper 中拖放 dom 元素

jquery - 如何构建一个视差滚动,其中背景图像一旦滚动到并且内容移动

javascript - react.js ReactComponent 不提供 setState()?

javascript - 当包含 jQuery 脚本时,老式的 html onclick return false 在 IE 中不起作用

javascript - 覆盖 jquery.param 函数

javascript - 如何调整页面边框 HTML/CSS

jquery - 从组中删除元素但保持 "odd/even"状态准确

jquery - 将类更改为标签,其中标签之间的类 ="xy"

数据表查找字符串并添加类