我写了这个javascript来显示一些id为imgFotogramma1/imgFotogramma2/ecc的图像。。随机分为8个不同的div,id为Fotogramma1/Fotograma2/ecc.:
function rullino() {
var immagini = new Array("strutture/1.jpg", "strutture/2.jpg", "strutture/3.jpg", "strutture/4.jpg", "strutture/5.jpg", "strutture/6.jpg", "strutture/7.jpg", "strutture/8.jpg", "strutture/9.jpg");
for (i = 1; i < 9; i++) {
var x = Math.floor(immagini.length * Math.random(1));
var imgId = "imgFotogramma" + i;
$(function () {
$(imgId).fadeIn(1000);
src = $(imgId).attr('src');
src = immagini[x];
alert(src);
});
}
setInterval("rullino()", 4000);
};
现在,这个代码从加载body开始,每4秒重复一次,但我不明白为什么不显示图像。我不久前就开始使用Jquery了,可能是出了问题。
我想指定:如果我通常使用javascript为src属性分配immagini[x]的值,那么所有操作都很好,并且显示图像。我的问题只是应用fadein()运动。
我需要帮助来理解哪里错了,我已经研究了fadeIn()API,并尝试将其应用于我的案例。
提前感谢任何想帮助我的人。
$(imgId).fadeIn(1000);
应该是:
$('#'+imgId).fadeIn(1000);
使用# + idOfElemnt
选择具有特定id的元素。
您已经做对了。只需更换
var imgId = "imgFotogramma"+i;
带
var imgId = "#imgFotogramma"+i;
由于您使用的是图像的ID,那么您必须使用"#"for ID来对其应用jQuery。
要选择ID,请使用# + elemID
。像这样:
var imgId = "#imgFotogramma" + i;
此外,如果元素未隐藏,则不会发生淡入淡出。先隐藏,然后淡入:
$(imgId).hide().fadeIn(1000);