addClass在单击函数

时间:2017-08-16 21:39:32

标签: jquery click

在我的脚本的head中,我为类ActiveQuestionCycler定义了一个单击函数,该函数循环显示一系列面板。 (此帖子底部的此函数的完整代码。)当我将该类分配给div元素(例如<div class="ActiveQuestionCycler"></div>)时,该函数有效,因此此代码中没有错误。

此外,我可以成功使用以下代码将类activequestioncycler添加到新的div元素(<div class="NewDiv"></div>),以便它在我运行activequestioncycler函数时运行点击它。

<script type='text/javascript'> 
$(document).ready(function(){
    $(".NewDiv").addClass("ActiveQuestionCycler");
});
</script>

但是,当点击另一个div元素(例如<div class="DivToClick"></div>)时,我无法将该类添加到一个div元素(例如<div class="DivToAdoptClass"></div>)。

以下是无效的代码

<script type='text/javascript'> 
$(document).ready(function(){
  $(".DivToClick").click(function () {
    $(".DivToAdoptClass").addClass("ActiveQuestionCycler");
});
</script>

如果我点击DivToClick,我应该将ActiveQuestionCycler课程添加到DivToAdoptClass,这样,如果我随后点击DivToAdoptClass,它将运行该功能并显示面板。然而,没有任何事情发生。

如果我使用addClass以外的其他内容,则上述功能正常。例如,单击DivToAdoptClass

时,以下函数会成功隐藏DivToClick
<script type='text/javascript'> 
$(document).ready(function(){
  $(".DivToClick").click(function () {
    $(".DivToAdoptClass").hide();
});
</script>

如果有人可以帮助解释为什么addClass在点击功能中运行时不起作用,我将不胜感激。

谢谢!

仅限于案例:定义ACTIVEQUESTIONCYCLER CLASS

的点击功能的代码
<script type="text/javascript">
$(document).ready(function () {
    var controlPanel = [] 
var questiontype= '<?php echo $data['QuestionType']; ?>'
         var panels=$("."+questiontype+"Question."+questionlevel+".active").length;     

    $(".ActiveQuestionCycler").click(function () {
      var rand = Math.floor(Math.random()*panels);
      if (controlPanel.length >= $("."+questiontype+"Question."+questionlevel+".active").length) { 
        controlPanel.length = 0 
      }
      while (controlPanel.indexOf(rand) !== -1){ 
        rand = Math.floor(Math.random()*panels);
      }
      controlPanel.push(rand) 
        for(i=1;i<=panels;i++){
if($("."+questiontype+"Question."+questionlevel+".active").is(":visible")){
                $("."+questiontype+"Question."+questionlevel+".active").hide();
            }
        }   
        setTimeout(function(){
 $("."+questiontype+"Question."+questionlevel+".active").eq(rand).show();
    });   
});
</script>

0 个答案:

没有答案