-1

尝试用一点 html 解决 javascript 中的 fizzbuzz 问题。我想把答案放在 a 中<ul>并显示在页面上。为此,我需要获取 fizz-buzz 并以某种方式将它们添加<li>到 UL 的元素中,并在 jQuery 中添加前置或附加。我的代码运行良好,直到我将 jQuery 添加到等式中以将<li>s 添加到 html 中。我目前有弹出警报的数字/嘶嘶声。

我尝试将$(document).ready(function() {}所有 javascript 放入括号内。如果我这样做了,它就会中断,即使 javascript 部分中实际上有 0 个 jQuery。简单地中断,好像页面从未真正准备好,因此 javascript 将永远不会运行。

假设我可以让任何 jQuery 工作,我可以简单地将 jQuery 语句放在我的 elseif 语句中吗?例子:

else if (n1 % 5 === 0) {
        $("ul").prepend("<li>n1</li>")
    }

Javascript:

var number = prompt("number?");
var num_int = parseInt(number);

 var smack = new Array(num_int);

//populating array with numbers 1 through num_int
for (i = 0; i < smack.length; i++) {
    smack[i] = i+1;                         
              } //test again still working?

smack.forEach(function(n1) { //going through each array element, checking for fizz/buzz

    if (n1 % 3 === 0 && n1 % 5 === 0) {
        alert("fizz-buzz")

    }
    else if (n1 % 3 === 0) {
        alert("fizz")

    }
    else if (n1 % 5 === 0) {
        alert("buzz")
    }
    else {
        alert(n1)
    }


}); //end of forEach

HTML:

<hmtl>
<head>
<script src="scripts.js"></script>
<script src="jquery-1.11.2.js"></script>
</head>

<body>
<p>
<h1>Fizzbuzz</h1>
<ul id="hard">
<li>test</li>
</ul>
</p>


</body>

</html>

JSFiddle

提前感谢您的帮助!我敢肯定,对于任何有经验的人来说,这都是一个非常简单的问题。我刚刚进入它,虽然 fizzbuzz 的数学/逻辑部分非常简单,但让它正确显示却让我很生气。

4

2 回答 2

0

将 JQuery 部分更改为:

var number = prompt("number?");
var num_int = parseInt(number);

var smack = new Array(num_int);

//populating array with numbers 1 through num_int
for (i = 0; i < smack.length; i++) {
    smack[i] = i+1;                         
              } //test again still working?

smack.forEach(function(n1) { //going through each array element, checking for fizz/buzz

    if (n1 % 3 === 0 && n1 % 5 === 0) {
        $('#hard').append("<li>fizz-buzz</li>");

    }
    else if (n1 % 3 === 0) {
       $('#hard').append("<li>fizz</li>");

    }
    else if (n1 % 5 === 0) {
        $('#hard').append("<li>buzz</li>");
    }
    else {
        $('#hard').append("<li>"+n1+"</li>");
    }


}); //end of forEach

有助于。

此处的更改在 if 条件内。你每次都将你的 li 附加到 ul 中,你的答案就会出现在列表中。

希望这有帮助。

于 2015-02-12T06:56:40.773 回答
0

jquery你应该在你之前加载script.js

这是一个演示

我添加了$('#hard').append

于 2015-02-12T06:40:01.077 回答