出于某种原因,我必须按两次按钮才能执行分配给它的功能,这可能与有两个点击事件有关吗?但是,如果我删除" $(buttonNumber).on(' click',function()"脚本会中断。 我打算将这个功能用于多个按钮,以及为什么它必须在一个功能中。
HTML:
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/style.css" />
<script type="text/javascript" src="test2.js"></script>
</head>
<body>
<button id="button1" onclick="nextSlide('#button1', '#1', '#2')">Hide it</button>
<p id="1">Hide this text</p>
<p id="2">Show this text</p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
</body>
</html>
JS:
window.onload=function(){
$('#2').fadeOut(1);
};
function nextSlide(buttonNumber, hideDiv, showDiv) {
$(buttonNumber).on('click', function () {
$(hideDiv).hide("slide", 2000, function(){
$(showDiv).show("slide", 2000);
});
});
};
答案 0 :(得分:1)
您在每次点击时都会绑定事件。您应该只在点击事件中执行代码。
function nextSlide(buttonNumber, hideDiv, showDiv) {
//$(buttonNumber).on('click', function () {
$(hideDiv).hide("slide", 2000, function(){
$(showDiv).show("slide", 2000);
});
//});
};
评论的部分会绑定点击事件,但您已在html中完成此操作:
onclick="nextSlide('#button1', '#1', '#2')"