淡入淡出;不起作用

Fade In don't work

本文关键字:不起作用 淡出 淡入      更新时间:2023-09-26

我写了这个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);