-8

没什么复杂的,真的,只是这段代码似乎没有触发,因为“#title” div 上的文本没有改变

<script type="text/javascript">
    var images = $('#cofzSlider img');
    var count = images.length();
    var i = 0;

    $(document).ready(function() {
        if (i == count) {
            i = 0;
        }
        i++;
        images[i].addClass('active');
        $('#title').text("dasdas");
    });
</script>
4

2 回答 2

2

有几个问题。

length是属性,不是函数。应该:

var count = images.length;

addClass是一个jquery函数,不是针对元素的。应该是这样来获取 jquery 对象而不是 dom 元素:

    images.eq(i).addClass('active');

似乎images[1]每次根据您所拥有的内容加载页面时,您都会得到,这是需要的吗?

当您使用 访问 dom 时$('#cofzSlider img');,您需要确保它也在您的$(document).ready()

PS:如果您在运行控制台时只看一下控制台,您应该会看到其中一些错误。您应该在此处提问之前尝试这样做以避免这种情况。

于 2013-07-02T17:46:50.823 回答
1

你有多个问题:

  1. 长度是一个属性,它不是一个函数。更改var count = images.length();var count = images.length;

  2. 你在使用它之前就递增i,这意味着你永远不会得到第 0 个元素,images所以移动i++到最后。

  3. 为什么你甚至有一个i++只调用一次的函数?这对我来说没有多大意义。也许我只是没有看到它。如果要将所有图像设置为活动状态,只需执行以下操作:images.addClass('active');

于 2013-07-02T17:47:37.730 回答