无法设置可见性:通过JavaScript隐藏

时间:2011-11-10 20:30:21

标签: javascript image getelementbyid

我在解决这个问题时遇到了一些麻烦所以我认为在这里发布它可能会有所帮助。所以就这样了。

我有什么: 5个不同的表格单元格中的5个不同的图像+我将在下面发布的脚本。

我想要的是什么:使用javascript的...

document.GetElementById("image ID").style.visibility='visible/hidden'

...在预设时间之后,但是,有一个字符串可以获取图像的ID,而在任何人说出任何内容之前,我没有使用“”作为()内部的字符串。有点像...

var n=1;
function picID() {    
pictureID="pic"+n;
n=n+1;
}

...这样,每次调用该函数时,我们都会得到元素ID“pic1”,“pic2”,“pic3”等。

我的问题是什么:这个糟糕的东西是行不通的。图像样式与我在img标签中定义的样式相同。 (style="visibility:hidden"

所有图片ID都在img标签内,应该如此。

以下是整个代码:

<script>
var m=1;
        function Show() {
        if (m==6) {m=1;}

    feat="feat"+m;
        **document.getElementById(feat).style.visibility="visible";**
    m=m+1;
    setTimeout('Show()', 3000);
    }
window.onload = Show;
</script>

<script>
var k=1;    
    function Hide() {
    if (k==6) {k=1;}

    feate="feat"+k;
        **document.getElementById(feate).style.visibility="hidden";**
    k=k+1;
    setTimeout('Hide()', 3000);     
    }

window.onload = Hide;
</script>

我已将代码分开,因此更容易发现。 从我所看到的唯一问题是代码中的粗线。我已经通过将 document.getElementById 替换为 document.write 来测试其他所有内容,因此我可以看到自定义ID字符串thingy工作正常。它是。还有其他一切。

有什么建议吗?感谢。

2 个答案:

答案 0 :(得分:0)

尝试设置k = 0;而不是k = 1;

在加载页面时,您可以在同一元素上运行show()和hide()函数。执行上述操作将使hide()在运行show()的元素之前运行元素。

答案 1 :(得分:0)

此代码将继续在循环中运行。 因为每次调用setTimeOut()。 应该有一个没有被召唤的情况 例如,如果m <6则调用它,否则