0

js我有这么小的代码和平:

var config = $('.fullscreen_src');
var i=0;
function display_images(){
    i++;
    var image = config[i % config.length];
    image.css('display', 'block');
}
setInterval(display_images, 3000);

它每 3 秒抛出一次错误,因为delay. 错误是这个TypeError: image.css is not a function,我不知道是什么原因。当我改变function display_image这个:

function display_images(){
    i++;
    alert('tralal ' + i);
}

它工作正常,为什么?

4

4 回答 4

1

您需要创建一个包含该css函数的 Jquery 对象

function display_images(){
    i++;
    var image = $(config[i % config.length]);
    image.css('display', 'block');
}
于 2013-01-31T11:10:41.177 回答
1

css 是 Jquery 对象的函数。将对象包裹在 $(image) 中,像这样尝试

function display_images(){
    i++;
    var image = $(config[i % config.length]); // now image is Jquery object, so you can access CSS methods 
    image.css('display', 'block');
}

或者你可以用 jquery 包装图像对象

 $(image).css('display', 'block');
于 2013-01-31T11:12:01.823 回答
1
function display_images(){
    i++;
    var image = config[i % config.length];
    $(image).css('display', 'block');  // Use jQuery object..
}
于 2013-01-31T11:13:08.680 回答
0

尝试像这样修改您的代码。

var image = config[i % config.length];
image = $(image);
image.css('display', 'block');
于 2013-01-31T11:12:21.283 回答