必须单击按钮两次才能执行功能 - jQuery

Have to Click Button Twice to Perform Function - jQuery

本文关键字:执行 功能 jQuery 两次 单击 按钮      更新时间:2023-09-26

出于某种原因,我必须按两次按钮才能执行分配给它的功能,也许与有两个单击事件有关?但是,如果我删除"$(buttonNumber).on('click',函数()",脚本就会中断。我计划将此功能用于多个按钮,这就是为什么它必须在一个函数中。

.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);
            });
    });
};

每次单击都会绑定事件。您应该只在点击事件中执行代码。

function nextSlide(buttonNumber, hideDiv, showDiv) {
    //$(buttonNumber).on('click', function () {
            $(hideDiv).hide("slide", 2000, function(){
                $(showDiv).show("slide", 2000);
            });
    //});
};

注释的部分绑定了一个单击事件,但您已经在 html 中完成了此操作:

onclick="nextSlide('#button1', '#1', '#2')"