Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript不透明度更改_Javascript_Html_Random_Opacity - Fatal编程技术网

Javascript不透明度更改

Javascript不透明度更改,javascript,html,random,opacity,Javascript,Html,Random,Opacity,好的,我做了一些修改,修复了一些问题,但是现在它并没有遍历所有的字母,一些字母是可见的,然后脚本停止。另外,我如何使字母淡入?我原以为我必须这么做,但剧本没有因为某种原因而停顿,你看不到它的褪色 <script type="text/javascript" > //alert("Script Loaded"); var $TotalLetters = 16, $SwappedLets = 0, $L1 = false

好的,我做了一些修改,修复了一些问题,但是现在它并没有遍历所有的字母,一些字母是可见的,然后脚本停止。另外,我如何使字母淡入?我原以为我必须这么做,但剧本没有因为某种原因而停顿,你看不到它的褪色

<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>

//警报(“脚本加载”);
var$Totaletters=16,
$SwappedLets=0,
$L1=错误,
$L2=错误,
$L3=错误,
$L4=错误,
$L5=错误,
$L6=假,
$L7=错误,
$L8=假,
$L9=错误,
$L10=错误,
$L11=错误,
$L12=错误,
$L13=错误,
$L14=错误,
$L15=错误,
$L16=错误,
$RanNum=0,
$Holderval=0;
window.onload=函数DOL(){
杜洛德()
}
函数DoOnLoad(){
//警报(“DoOnLoad”);
/*随机更改每个字母的不透明度,
可以换小标签*/

如果($SwappedLets不确定元素“tL”是什么类型,但假设它们是
类型,则以下脚本应执行此操作:

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。因为你正在使用变量的DoLor表示法,我假设你也在使用它。

哇。代替所有的布尔值列表,考虑使用一个数组,你的代码会更干净。我会使用一个数组,但是我仍然在学习如何在JavaScript中做这些。JavaScript是区分大小写的。不是我们吗?e
Opacity
。顺便问一下,这个函数应该做什么?我看到的只是它将随机元素的不透明度设置为1。那么为什么不简单地编写
(元素).style.opacity=1
而不是使用循环?我希望它们淡入,而不是直接进入1。Javascript中的变量可以包含美元符号,即使没有jQuery。只是有些人喜欢这样。我知道,这就是为什么我说我只是假设。李斯特先生的假设是正确的。我喜欢使用美元符号使变量更容易识别。非常感谢您的贡献!我还不完全理解jQuery和Javascript之间的区别,您介意解释一下吗?jQuery是一个库,它既简化了Javascript函数的编写,又使它们与不同/较旧的浏览器兼容。您可以用更少的资源完成更多的工作代码(详细),他们有一个很好的API。另外,这里有很多关于它的问题,所以你可能会找到解决所有问题的方法。
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;
    });
}