-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文が実行されるとすぐに、flashwelcomedivが消えます。

コードのわずかに変更されたバージョンは、http: //jsfiddle.net/carlesandres/eTY4v/にあります。

あなたは私があなたh2flashwelcome divdocument.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>

さらに、最初に「flashwelcome」divを非表示にするためにインラインcssを使用していることに気づいていますか?


Musaがコメントで述べたように、h2タグ(?)内で使用しているjavascriptは非常に古いものです。その機能に関して:あなたのユーザーがあなたのウェブサイトで本当に見たいものであるような点滅するテキストは確かですか?

于 2012-09-17T00:01:03.447 に答える