新人,代码有什么不规范的还请提示一下
还有为什么结果是先弹窗再执行函数
<!DOCTYPE html>
<HTML>
<head>
<script>
window.onload = function () {
basecss();
alert("yes");
}
function basecss(){
//slier樣式
var slider = document.getElementById("slider");
slider.style.padding="0px";
slider.style.height="480px";
slider.style.width="1024px";
slider.style.margin="auto";
slider.style.marginTop="70px";
slider.style.backgroundColor="red";
var img =document.getElementsByClassName("sliderimg");
//slierimg样式
for(var i=0;i<5;i++){
img[i].style.width="200px";
img[i].style.height="350px";
img[i].style.backgroundColor="blue";
img[i].style.padding="0px";
img[i].style.position="relative";
img[i].style.float= "left";
img[i].style.top= "60px";
img[i].style.left= "12px";
if( i=0 || i =4){
img[i].style.transform="scale(0.75,0.75);"
}
}
}
</script>
</head>
<body>
<img id = "test"> - - --- -</img>
<div id="slider">
<img class="sliderimg">
<img class="sliderimg">
<img class="sliderimg">
<img class="sliderimg">
<img class="sliderimg">
</div>
</body>
</HTML>
js是在页面加载的时候就执行的 而代码的执行的是异步的 由浏览器解析 加载完成就解析完成 如果想要一边加载一边解析 就需要用到闭包
没看见你的if在哪里
if( i==0 || i ==4){ img[i].style.transform="scale(0.75,0.75);"}
要用“==”判断值~!!
if( i=0 || i =4) 改成 if( i==0 || i ==4)
判断是两个==,一个=是赋值
if(i == 0 || i == 4),将if中的条件=换成==!
判断时候一般用== 必要时候===
if条件判断要用'=='
if( i==0 || i ==4){img[i].style.transform="scale(0.75,0.75);"}
程序执行需要时间啊,if里面错了
if条件判断要用'==' ‘=’就给他重新赋值了
用==不要用= ,for循环都死循环了
if(i == 0 || i == 4),将if中的条件=换成==!
if中用 ‘===’ 判断。
一个‘=’ 表示赋值;
if( i=0 || i =4) 改成 if( i==0 || i ==4)
判断是两个==,一个=是赋值,然后将if( i=0 || i =4) 改成 if( i==0 || i ==4)即可
判断要 == 啊 , = 是赋值
需要用==,或者===判断,在页面初始化的时候,会把函数初始化,执行alert
if条件判断要用'==' ‘=’就给他重新赋值了
if如果不行的话,就用switch
"=="表示逻辑相等,“=”表示赋值
等于是赋值,双等于根据值等于,三等于是数据类型以及值都等于
if里面的换双等==
程序执行需要时间
if( i==0 || i ==4){img[i].style.transform="scale(0.75,0.75);"}
用火狐、谷歌浏览器的控件运行一下,错误全都显示出来了。。
老哥,判断是==啊双等号,你的=单等号了
一个=是赋值,两个==是值相等,三个===是类型与值都相等
请区分=与==,一个是赋值,一个是条件相等判断符号。
if中用==而不是=,这个问题大家都说了,我就不赘述了。。。
至于弹窗顺序,alert是会阻塞程序的,
如果你想先执行前面的方法再执行弹窗,可以加个setTimeout,如下:
window.onload = function () {
basecss();
setTimeout(function(){
alert("yes");
},1000);
}
if( i==0 || i ==4){
img[i].style.transform="scale(0.75,0.75);"
}
执行顺序并没有问题,只是js是单线程,页面还没有渲染出现了弹出,阻塞了渲染,给你一种执行顺序不对的错觉。