如何仅在按钮点击时激活我的脚本?

时间:2016-10-28 01:06:05

标签: javascript

所以我的HTML是:

<!DOCTYPE> 
<head>
    <script src="js/problem1.js"></script>
</head> 
<body> 
    <input id="clickMe" type="button" value="Problem #1" onclick="problem1();" />
    <script src="js/problem1.js"></script>
</body>

我试图运行的脚本是:

var counter = 0   
var total = 0    
var start = prompt("Enter a number here to find the sum of all numbers that are:\n-Between 0 and your number\n-Divisible by 3 or 5")

    function problem1(start) {
        for (counter = 0; counter < start; counter++) {   
            if (counter < start) { 
                if (counter % 3 == 0) {
                    total += counter;
                }
                else if (counter % 5 == 0) {
                    total += counter;
                }
            }
            else if (counter == start) {
                if (counter % 3 == 0) {
                    total += counter;
                    alert(total);
                }
                else if (counter % 5 == 0) {
                    total += counter;
                    alert(total);
                }
                else {
                    alert(total);
                }
            }
        }
    }

我遇到的问题是,现在脚本在页面加载时运行,并立即给我一个创建start变量的提示。输入一个整数并单击Ok后,提示窗口消失,没有任何反应。我确实意识到脚本是独立运行的,因为它是在<head>中调用的。问题是我不知道如何调用它,就像按下按钮一样。我不想使用JQuery。我见过许多像this one这样的答案,但我正在寻找一些不需要JQuery的东西。我该如何做到这一点?

更新

感谢您的帮助。现在我偶然发现了第二个问题。我无法让脚本运行或显示警报(不确定是哪个)

1 个答案:

答案 0 :(得分:0)

将你的提示放在问题函数

&#13;
&#13;
function problem1() {
    var counter = 0   
    var total = 0    
    var start = prompt("Enter a number here to find the sum of all numbers that are:\n-Between 0 and your number\n-Divisible by 3 or 5")

    for (counter = 0; counter < start; counter++) {   
        if (counter < start) { 
            if (counter % 3 == 0) {
                total += counter;
                alert(total);
            }
            else if (counter % 5 == 0) {
                total += counter;
                alert(total);
            }

        }
        else if (counter == start) {
            if (counter % 3 == 0) {
                total += counter;
                alert(total);
            }
            else if (counter % 5 == 0) {
                total += counter;
                alert(total);
            }
            else {
                alert(total);
            }
        }
    }
}
&#13;
<!DOCTYPE> 
<head>
    <script src="js/problem1.js"></script>
</head> 
<body> 
    <input id="clickMe" type="button" value="Problem #1" onclick="problem1();" />
    <script src="js/problem1.js"></script>
</body>
&#13;
&#13;
&#13;