-3

请看下面的代码:

<div id="flashwelcome" style="display: none">
  <h2 align="center">
    <script language="JavaScript1.2">
        var message = "Welcome to Dynamic Report Generation POC"
        var neonbasecolor = "green"
        var neontextcolor = "blue"
        var neontextcolor2 = "red"
        var flashspeed = 200 // speed of flashing in milliseconds
        var flashingletters = 3 // number of letters flashing in neontextcolor
        var flashingletters2 = 1 // number of letters flashing in neontextcolor2 (0 to disable)
        var flashpause = 0 // the pause between flash-cycles in milliseconds
        /**
         * No need to edit below this line
         */
        var n = 0
        if (document.all || document.getElementById) {
            document.write('<font color="' + neonbasecolor + '">')
            for (m = 0; m < message.length; m++)
            document.write('<span id="neonlight' + m + '">' + message.charAt(m) + '</span>')
            document.write('</font>')
        } else {
            document.write(message)
        }
        
        function crossref(number) {
            var crossobj = document.all ? eval("document.all.neonlight" + number) : document.getElementById("neonlight" + number)
            return crossobj
        }
        
        function neon() {
            /**
             * Change all letters to base color
             */
            if (n == 0) {
                for (m = 0; m < message.length; m++)
                crossref(m).style.color = neonbasecolor
            }
        
            /**
             * cycle through and change individual letters to neon color
             */
            crossref(n).style.color = neontextcolor
        
            if (n > flashingletters - 1) crossref(n - flashingletters).style.color = neontextcolor2
            if (n > (flashingletters + flashingletters2) - 1) crossref(n - flashingletters - flashingletters2).style.color = neonbasecolor
        
        
            if (n < message.length - 1) {
                n++
            } else {
                n = 0
                clearInterval(flashing)
                setTimeout("beginneon()", flashpause)
                return
            }
        }
        
        function beginneon() {
            if (document.all || document.getElementById) flashing = setInterval("neon()", flashspeed)
        }
        beginneon();​
    </script>
  </h2>               
</div>

这就是我隐藏上述内容的方式,div tag但它并没有被隐藏,

document.getElementById("flashwelcome").style.display = 'none';

我不认为有什么问题,但仍然没有隐藏 div 标签。

请帮我找出问题所在。

问候

4

2 回答 2

2

正如其他人在这里指出的那样,您的 javascript 代码真的很难看。

但是,据我了解,您对 document.write 的第一次使用是覆盖 DOM 的全部内容(即您的整个页面的内容)。因此,一旦执行了第一个 document.write 语句,您的 flashwelcome div 就会消失。

您可以在此处找到代码的略微修改版本:http: //jsfiddle.net/carlesandres/eTY4v/

你会注意到我把你的h2andflashwelcome div移到了 document.write 句子。我还添加了 JSLint 推荐的分号和花括号(通常的 javascript 良好实践)

闪退还是不行。你必须弄清楚为什么。祝你好运!

于 2012-09-17T00:37:53.720 回答
1

假设您正在使用代码将 div 隐藏在脚本标记中,并且所述脚本元素嵌入在下面的文档中,其中 id=flashwelcome 的 div 是,这应该可以正常工作。如果没有,请检查您的浏览器中是否启用了 JavaScript。

确保您的代码如下所示:

<div id="flashwelcome">...</div>
<script>
document.getElementById("flashwelcome").style.display = 'none';
</script>

此外,您是否意识到您最初使用内联 css 来隐藏“flashwelcome”div?


正如 Musa 在评论中指出的那样:您在 h2 标记 (?) 中使用的 javascript 已经很老了。至于它的功能:你确定这样的闪烁文本是你的用户真正想在你的网站上看到的吗?

于 2012-09-17T00:01:03.447 回答