-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()”,因为 display 已经是一个字符串。

这是一个较短的代码:

    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

在第二个 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评论,您需要一张一张地显示图像。

这是您的功能。

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 回答