-1

サイトの画像を 5 秒ごとに変更したいのですが、このコードを使用しましたが、うまくいきません! 問題はどこだ!

    <script  type="text/javascript"src="http://code.jquery.com/jquery-1.9.1.min.js"> </script>
<script type="text/javascript">
    $(document).ready(function () {
        var interval = setInterval(time, 5000);
    }); // ending ')' was missing
</script>
<script type="text/javascript">
    function time() {

        var m11 = document.getElementById("m1");
        var m22 = document.getElementById("m2");
        var m33 = document.getElementById("m3");
        var   name= mm11.style.display.toString();
        if ( name=="block") {
            m11.style.display = "none";
            m22.style.display = "block";
        }
        if(m22.style.display.toString() ="block")  {
            m22.style.display = "none";
            m11.style.display = "block";
            }

    }
    </script>
4

5 に答える 5

2

変化する

if(m22.style.display.toString() ="block")

if(m22.style.display.toString() == "block")

また、表示はすでに文字列であるため、「toString()」は必要ありません。

短いコードは次のとおりです。

    function time() {
        var m11 = document.getElementById("m1");
        var m22 = document.getElementById("m2");
        var m33 = document.getElementById("m3");
        if (m11.style.display == "block") {
            m11.style.display = "none";
            m22.style.display = "block";
        }
        if(m22.style.display == "block")  {
            m22.style.display = "none";
            m11.style.display = "block";
        }
    }
于 2013-04-30T12:54:25.150 に答える
1

あなたはすでにjqueryを使用しているので、単純に使用できるように思えます

function time() {
    $('#m1').toggle();
    $('#m2').toggle();
}
于 2013-04-30T12:57:38.980 に答える
0

直接ご利用いただけます。ステートメント==で比較するときは、そうでなければならないことに注意してくださいIf

document.getElementById('m1').style.display = 'none';
于 2013-04-30T12:55:22.193 に答える
0

2 番目の if ブロックでは、comaprsion 演算子の入力ミスがあります。

if(m22.style.display.toString() ="block")

する必要があります

if(m22.style.display.toString() =="block")
于 2013-04-30T12:55:42.673 に答える
-2

より良い方法は次のとおりです。

HTML:

<div id="m1" style="display:block">Hello1</div>
<div id="m2" style="display:none">Hello2</div>

JS:

setInterval(time, 5000);
function time() {
    $("#m1, #m2").toggle();
}

ライブデモを参照

更新しました:

@Sarah shコメントによると、画像を 1 つずつ表示する必要があります。

これがあなたの機能です。

HTML:

<div class="img">Hello1</div>
<div class="img">Hello2</div>
<div class="img">Hello3</div>
<div class="img">Hello4</div>

JS:

var currObj = $(".img").first();
$(currObj).show();
$(".img").not(currObj).hide();

setInterval(rotateImage, 2000);

function rotateImage() {
    var tempObj = currObj;

    if ($(tempObj).is(":last"))
        currObj = $(".img").first();
    else
        currObj = $(currObj).next();

    $(tempObj).hide();
    $(currObj).show();
}

ライブデモを参照

于 2013-04-30T13:10:33.733 に答える