2
<div id="contentimage">
    <img src="1.jpg" class="activeimage" />
    <img src="2.jpg" style="opacity: 0;" />
    <img src="3.jpg" class="last" style="opacity: 0;" />
</div>

<script>
window.addEvent('domready', function() {

    var fx = function() {

    var activeimage = $$('img.activeimage');

        if(!activeimage.hasClass('last')) {

            var next = activeimage.getNext('img');

            activeimage.toggleClass('activeimage');
            next.toggleClass('activeimage');

            activeimage.morph({'opacity':'0'});
            next.morph({'opacity':'1'});

        } else {

            var next = $('contentimage').getFirst('img');

            activeimage.toggleClass('activeimage');
            next.toggleClass('activeimage');

            activeimage.morph({'opacity':'0'});
            next.morph({'opacity':'1'});

        }

    }

    fx.periodical(3000);

});
</script>

我只是不明白为什么会这样:

if(!activeimage.hasClass('last'))

总是返回 false ?我试图用“警报”检查它,一切都很好,但是当谈到这条线时 - 它不像我预期的那样。

4

1 回答 1

2

改用这个:

var activeimage = document.getElement('img.activeimage');

否则$$会得到一个family,你不能这样申请.hasClass()

演示在这里(几秒钟后检查控制台)

于 2013-09-15T13:55:39.563 回答