0

出于某种原因,我必须按两次按钮才能执行分配给它的功能,也许与有两个点击事件有关?但是,如果我删除“$(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);
            });
    });
};
4

1 回答 1

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')"
于 2013-10-22T19:03:07.707 回答