在我的脚本的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>