原生JavaScript学习:slideShow

function addLoadEvent(func) {
  var oldLoad = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldLoad();
      func();
    };
  }
}

function slideShow() {
  var oBox = document.getElementById("box");
  var aUl = oBox.getElementsByTagName("ul");
  var aImg = aUl[0].getElementsByTagName("li");
  var aNum = aUl[1].getElementsByTagName("li");
  var timer = play = null;
  var i = index = 0;

  //切换按钮
  for (i = 0; i < aNum.length; i++) {
    aNum[i].index = i;
    aNum[i].onmouseover = function() {
      show(this.index);
    }
  }

  //鼠标划过关闭定时器
  oBox.onmouseover = function() {
    clearInterval(play);
  }
  //鼠标离开自动播放
  oBox.onmouserout = function() {
    autoPlay();
  }

  //自动播放函数
  function autoPlay() {
    Play = setInterval(function() {
      index++;
      index >= aImg.length && (index = 0);
      show(index);
    }, 4000);
  }
  autoPlay();

  //图片切换,淡出淡入效果
  function show(a) {
    index = a;
    var alpha = 0;
    for (i = 0; i < aNum.length; i++) {
      aNum[i].className = "";
    }
    aNum[index].className = "current";
    clearInterval(timer);

    for (i = 0; i < aImg.length; i++) {
      aImg[i].style.opacity = 0;
      aImg[i].style.filter = "alpha(opacity=0)";
    }

    timer = setInterval(function() {
      alpha += 2;
      alpha > 100 && (alpha = 100);
      aImg[index].style.opacity = alpha / 100;
      aImg[index].style.filter = "alpha(opacity = "+ alpha +")";
      alpha == 100 && clearInterval(timer)
    }, 20)
  }
}

addLoadEvent(slideShow);


转载于:https://my.oschina.net/LiyuhaoDev/blog/65092

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值