0

さて、いくつかの変更を加え、いくつかの問題を修正しましたが、すべての文字が表示されず、一部の文字が表示され、スクリプトが停止します。また、文字をフェードインするにはどうすればよいですか?やらなければいけないと思ったのですが、なぜかスクリプトが一時停止せず、フェードも見られません。

<script type="text/javascript" >

        //alert("Script Loaded");

        var $TotalLetters = 16,
        $SwappedLets = 0,
        $L1 = false,
        $L2 = false,
        $L3 = false,
        $L4 = false,
        $L5 = false,
        $L6 = false,
        $L7 = false,
        $L8 = false,
        $L9 = false,
        $L10 = false,
        $L11 = false,
        $L12 = false,
        $L13 = false,
        $L14 = false,
        $L15 = false,
        $L16 = false,
        $RanNum = 0,
        $Holderval = 0;

        window.onload = function DOL() {
            DoOnLoad()
        }

        function DoOnLoad() { 
            //alert("DoOnLoad");
            /* Change the opacity of every letter randomly,
            CAN CHANGE IN SMALL TAG */

            if ($SwappedLets <= $TotalLetters + 1) {
                $RanNum = Math.floor(Math.random()*17); 
                //alert(window["$L" + $RanNum]);
                 if (window["$L" + $RanNum] == false) {
                    window["$L" + $RanNum] = true;
                    OPIncre($RanNum);
                }
            }

        } 

        function OPIncre(RN) {
            if (document.getElementById("tL" + RN).style.opacity <= 1) {
                document.getElementById("tL" + RN).style.opacity = $Holderval + 0.001;
                $Holderval = $Holderval + 0.001;
                window.setTimeout(OPIncre(RN),600);
            }
            else {
                $SwappedLets = $SwappedLets + 1;
                $Holderval = 0;
                window.setTimeout(DoOnLoad,500);    
            }
        } 

    </script>

- - 年:

私はJavascriptが初めてで、スクリプトでhtml要素の不透明度をランダムに変更するのに問題があります。要素の不透明度は、デフォルトでは css で 0 に設定されています。私は周りを見回してみましたが、まだ解決策を見つけていません。Firefox の Javascript エラー コンソールにエラーが表示されません。明らかに間違っていることはありますか?

<script type="text/javascript" >
        /*alert("Script Loaded");*/
        var $TotalLetters = 16,
        $SwappedLets = 0,
        $L1 = false,
        $L2 = false,
        $L3 = false,
        $L4 = false,
        $L5 = false,
        $L6 = false,
        $L7 = false,
        $L8 = false,
        $L9 = false,
        $L10 = false,
        $L11 = false,
        $L12 = false,
        $L13 = false,
        $L14 = false,
        $L15 = false,
        $L16 = false,
        $RanNum = 0;

        window.onload = function DOL() {
            DoOnLoad()
        }

        function DoOnLoad() {
            /*alert("DoOnLoad");*/
            /* Change the opacity of every letter randomly,
            CAN CHANGE IN SMALL TAG */

            if ($SwappedLets <= $TotalLetters + 1) {
                $RanNum = Math.floor(Math.random()*17);
                /*alert(window["$L" + $RanNum]);*/
                if (window["$L" + $RanNum] == false) {
                    window["$L" + $RanNum] = true;
                    OPIncre($RanNum);
                }
            }

        }

        function OPIncre(RN) {
            while (document.getElementById("tL" + RN).style.Opacity <= 1) {
                document.getElementById("tL" + RN).style.Opacity = document.getElementById("tL" + RN).style.Opacity + 0.1;
            }
            $SwappedLets = $SwappedLets + 1;
            window.setTimeout(DoOnLoad,500);
        }
    </script>
4

1 に答える 1

0

要素「tL」がどのタイプかはわかりませんが、それらがタイプであると仮定すると<p>、次のスクリプトでうまくいくはずです。

var $elements;
window.onload = function DOL() {
    // Get all elements
    $elements = $("p[id^='tL']");

    // Loop through all of them
    $elements.each(function(i, e) {
        e.style.opacity = Math.random() + 0.17;
    });
}

ここでは jQuery を使用していることに注意してください。変数にドル表記を使用しているので、あなたもそれを使用していると思います。

于 2013-09-23T19:04:09.707 に答える