有人可以告诉我我是不是疯了或者我哪里出错了。我已经在多个浏览器上试过这个,当你做 show() 时它会冻结 jQuery。
我想不通,我尝试了多种扭曲代码的方法,无论如何,当调用 .show() 时,它会冻结并且在重新加载页面之前无法工作。
目的是显示几个不同的选项,如果用户点击它是一个付费选项,它会显示所需的附加信息。疯狂的是,当您删除大部分 li 时,它可以正常工作。但是,当您将 li 添加回页面时,它不起作用。它适用于 2 或 3 次点击然后冻结。Firebug 没有显示任何错误,只是不做任何事情。Interestingly, jquery on the rest of the page still works, when the option part is frozen. 我将不胜感激任何建设性的想法。谢谢!
不工作 joopk.com/signup 工作////////////////////////////////// //////
$(document).ready(function () {
$("#signupoptions .signupoption").click(clickedoption);
});
function clickedoption() {
if ($(this).hasClass("payoption")) {
$("#signupadditionalinfo").show();
}else {
$("#signupadditionalinfo").hide();
}
$("#signupoptions .signupoption").removeClass("optionselected");
$(this).addClass("optionselected");
}
为简洁起见,我已经取出了详细信息,但一般的html如下:
<div id="signupoptions">
<div id="signupoptiondescription">
<ul>
<li>Joopk.com CMS</li>
</ul>
</div>
<div id="signupoptionsocial" class="signupoption optionselected">
<h3>
Social</h3>
<ul>
<li class="check"></li>
</ul>
</div>
<div id="signupoptionbusiness" class="signupoption payoption">
<h3>
Business</h3>
<ul>
<li class="check"></li>
</ul>
</div>
<div id="signupoptiondeveloper" class="signupoption payoption">
<h3>
Developer</h3>
<ul>
<li class="check"></li>
</ul>
</div>
<div class="clear">
</div>
</div>
<div id="signupadditionalinfo" class="container" style="display: none;">
<h3>
Additional Information</h3>
</div>