javascript - 循环元素不透明度

标签 javascript css

我正在制作按顺序淡出 3 张图片的脚本,但图片的不透明度没有改变。达到了 if 语句,但图片没有改变。第一张图片在页面加载时更改为 1 不透明度,所以我不明白为什么它在我的函数中不起作用。

window.onload = function() { 
    document.getElementById("img1").style.opacity = 1;
    setInterval(swapPictures, 2000);
};

var swapPictures = function(){
   if(typeof swapPictures.img1v === 'undefined'){
         swapPictures.img1v = true;
}
if(typeof swapPictures.img2v === 'undefined'){
         swapPictures.img2v = false;
}
if(typeof swapPictures.img3v === 'undefined'){
         swapPictures.img3v = false;
}

if(swapPictures.img1v  && !swapPictures.img2v && !swapPictures.img3v){
         swapPictures.img1v = !swapPictures.img1v;
         swapPictures.img2v = !swapPictures.img2v;
         document.getElementById("img1").style.opacity = .4;
         document.getElementById("imgtwo").style.opactiy = 1;
}else if(!swapPictures.img1v && swapPictures.img2v && !swapPictures.img3v){
         swapPictures.img2v = !swapPictures.img2v;
         swapPictures.img3v = !swapPictures.img3v;
         document.getElementById("imgtwo").style.opacity = .4;
         document.getElementById("imgthree").style.opactiy = 1;
 }else if(!swapPictures.img1v && !swapPictures.img2v && swapPictures.img3v){
         swapPictures.img3v = !swapPictures.img3v;
         swapPictures.img1v = !swapPictures.img1v;
         document.getElementById("imgthree").style.opacity = .4;
         document.getElementById("img1").style.opactiy = 1;
 } 
};

最佳答案

jsBin demo

这就是你所需要的:

var $mpPics = document.getElementsByClassName("mpPics");
var n = $mpPics.length;
var c = 0;

function fadeImg(){
  for(var i=0; i<n; i++) $mpPics[i].style.opacity = 0.4;
  $mpPics[c++%n].style.opacity = 1;
}
fadeImg(); 

setInterval(fadeImg, 2000);

关于javascript - 循环元素不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23976129/

相关文章:

javascript - 打开新选项卡将删除 Chrome 和 Mozilla 浏览器中的 session ,但不会删除 IE 和 Edge 中的 session

javascript - 如何使用 Vuejs 和 Laravel 获取当前经过身份验证的用户 ID?

javascript - Jquery UI 可拖动不会调整其他 DIV 的大小

css - 最小/最大宽度媒体查询没有语法意义

css - 如何在 css 中将此表单居中?

javascript - 如何在 Promise.all 中访问已解决的 Promise es6

javascript - 在 Angular 组件中显示嵌套的 Json

css - JavaFX 场景 CSS 不起作用

css - 为什么浏览器要为 CSS 属性创建供应商前缀?

javascript - 在 Framework7 Inside Pages 的 Url 中传递变量