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是区分大小写的。不是我们吗?eOpacity
。顺便问一下,这个函数应该做什么?我看到的只是它将随机元素的不透明度设置为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;
});
}