使用JavaScript可以看到图像

时间:2014-03-15 20:21:50

标签: javascript html css

大家好,所以我想做的是使用JS函数使img可见(在开始时它是不可见的)。
这是代码:

for(k = 0; k < advent.getDate(); k++) {
    if(adventSonntagDate[k] <= advent.getDate()) {
        // I'm pretty sure the line below is somehow wrong.
         document.getElementById("f" + (k + 1)).style.visibility='visible';
    }
}

所以div在CSS中的格式如下:

.flamme01 {
    position: absolute;
    top: 21px;
    left: 277px;
    visibility: hidden;
}

ID是f1,f2,f3和f4。用按钮调用包含for循环的函数后没有任何反应。图片没有出现。其余的代码应该没问题。我用alert()“调试”它,在跑步时向我显示变量等。

我做错了什么?

6 个答案:

答案 0 :(得分:1)

您的for循环初始值设定项为k而不是i

应该是

document.getElementById("f"+(k+1)).style.visibility='visible';

而不是

document.getElementById("f"+(i+1)).style.visibility='visible';
///-------problem is this----^

答案 1 :(得分:1)

问题不明确。如果您只想根据某些条件显示某些元素,可以将display none更改为block。我刚为此创建了一个jsfiddle。

http://jsfiddle.net/9wuVs/

for(var i=1;i<=4;i++){
    document.getElementById('f'+i).style.display = "block";
}

答案 2 :(得分:0)

我认为你不需要(i + 1)在错误的行,因为你迭代&#39; k&#39;价值,而不是&#39;我&#39;。

答案 3 :(得分:0)

for(k=0;k<advent.getDate();k++) {

    if(adventSonntagDate[k]<=advent.getDate()) {
        //Im pretty sure the line below is somehow wrong.
         document.getElementById("f"+(k+1)).style.visibility='visible';

    }
}

答案 4 :(得分:0)

我只是猜测可能是它失败了,因为日期正在寻找一个ID太高而无法工作,所以脚本崩溃了

alert('hello');

就在能见线之前,它会不会发射?

答案 5 :(得分:-1)

Try using display

同时检查你的代码,看看Javascript是否在css之前运行,在head标签内。