0

私はJqueryの乱数​​効果の投稿のようなコードを使用し ました..そして結果http://jsfiddle.net/ZDsMa/94/ ...

今、私は完全なコード html と jquery を 1 つのファイル php( index.php) に記述し、サーバーに配置しています...

<html>
<title>Randomize Number</title>
<head>
<style type="text/css">
#output {
    margin: 20px;
    padding: 20px;
    background: gray;
    border-radius: 10px;
    font-size: 80px;
    width: 160px;
    color: red;
}
</style>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script>
var output, started, duration, desired;
// Constants
duration = 5000;
desired = '50';

// Initial setup
output = $('#output');
started = new Date().getTime();

// Animate!
animationTimer = setInterval(function() {
    // If the value is what we want, stop animating
    // or if the duration has been exceeded, stop animating
    if (output.text().trim() === desired || new Date().getTime() - started > duration) {
        console.log('animating');
        // Generate a random string to use for the next animation step
        output.text('' + Math.floor(Math.random() * 990)

        );

    } else {
        console.log('animating');
        // Generate a random string to use for the next animation step
        output.text('' + Math.floor(Math.random() * 990)

        );
    }
}, 1000);

</script>
</head>
<body>
<div id="output">-</div>                    
</body>
</html>

アニメーション化された乱数が表示されない (jscript が実行されていない、「-」文字/css のボックスのみ)

コードの何が問題になっていますか?

4

3 に答える 3

1

ページがレンダリングされた後にコードが実行されることを確認する必要があるだけです。それをラップしてみてください:

...
<script>
$( function () {
    var output, started, duration, desired;
    // Constants
    duration = 5000;

    ...

    }, 1000);
});
</script>
...

ここで詳細情報を見つけることができますjQuery.ready()

于 2013-03-22T05:01:04.973 に答える
0

$(document).ready()コールバックで DOM と対話するコードをラップする必要があります。

$(document).ready(function() {
    ...
})
于 2013-03-22T04:30:25.573 に答える
0

こんにちは、このJavaScriptコードを使用してください

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var output, started, duration, desired;
// Constants
duration = 5000;
desired = '50';

// Initial setup
output = $('#output');
started = new Date().getTime();

// Animate!
animationTimer = setInterval(function() {
    // If the value is what we want, stop animating
    // or if the duration has been exceeded, stop animating
    if (output.text().trim() === desired || new Date().getTime() - started > duration) {
        console.log('animating');
        // Generate a random string to use for the next animation step
        output.text('' + Math.floor(Math.random() * 990)

        );

    } else {
        console.log('animating');
        // Generate a random string to use for the next animation step
        output.text('' + Math.floor(Math.random() * 990)

        );
    }
}, 1000);
})
于 2013-03-22T05:05:50.307 に答える