淡出没有工作

时间:2014-04-26 07:13:41

标签: javascript jquery html css

我已经写了这个javascript来显示id的一些图像:imgFotogramma1 / imgFotogramma2 / ecc ..随机在8个不同的div中与id Fotogramma1 / Fotogramma2 / 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);
};

现在,这个代码在加载主体并且每4秒重复一次时开始,但我不明白为什么不显示图像。我不久前就开始使用Jquery了,可能出了点问题。

我想指定:如果我正常使用javascript为src属性分配immagini [x]的值,所有工作正常并且图像显示。我只有应用fadein()动作的问题。 / p>

我需要帮助来了解哪里出错了,我已经研究了fadeIn()API,并且我已经尝试应用于我的案例。

提前感谢任何想要帮助我的人。

3 个答案:

答案 0 :(得分:1)

$(imgId).fadeIn(1000);

应该是:

$('#'+imgId).fadeIn(1000);

使用# + idOfElemnt选择具有特定ID的元素。

答案 1 :(得分:1)

你已经做对了。只需替换

  var imgId = "imgFotogramma"+i;  

使用

 var imgId = "#imgFotogramma"+i; 

由于您正在使用图像的ID,因此您必须使用“#”作为id来应用jQuery。

答案 2 :(得分:0)

要选择ID,请使用# + elemID。像这样:

var imgId = "#imgFotogramma" + i; 

此外,如果未隐藏元素,则不会出现淡入淡出。首先隐藏它,然后淡入它:

$(imgId).hide().fadeIn(1000);