欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js實現有過渡漸變效果的圖片輪播相冊(兼容IE,ff)

 更新時間:2016年01月19日 09:04:02   作者:xiongchao2011  
這篇文章主要介紹了js實現有過渡漸變效果的圖片輪播相冊,兼容IE、ff,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例介紹了js實現圖片輪播相冊,具有過渡漸變效果,分享給大家供大家參考,具體內容如下

思路很簡單,用2個屬性保存當前圖片和上一張圖片,用2個定時器分別控制透明度和當前過渡的圖片。

<HTML> 
<HEAD> 
<TITLE></TITLE> 
</HEAD> 
<style> 
#cnt{width:100%;height:80%;} 
.ctrl{text-align:center;border:1px solid gray;font-size:12px;cursor:pointer;} 
</style> 
<script defer='defer'> 
<!-- 
  var curOpac = 0; 
  var filterTimer; 
  var isIE = /internet explorer/i.test(window.navigator.appName); 
   
  function MyScroll(cnt, control){ 
    this.data = []; // 存放圖片路徑 
    this.interval = 3000; // 過渡一次的間隔時間(過渡時間+圖片顯示時間) 
    this.timer; // 定時器:控制當前顯示的圖片 
    this.container = cnt; 
    this.curFrame = 0; 
    this.oldFrame = 0; 
    this.controls = control; // 按鈕集合 
    Global = this;     // 獲取對象的指針 
 
    this.run = function(){ 
      this.timer = window.setInterval("Global.showFrame()", this.interval); 
    } 
     
    // 按鈕的處理程序 
    this.go = function(i){ 
      curOpac = 0; // 透明度歸0 
      this.curFrame = i; // 當前要過渡的圖片 
      this.stop(); // 清空計時器 
      this.showFrame(); // 當前圖片過渡 
      this.run(); // 循環(huán)播放 
    } 
     
    this.stop = function(){ 
      window.clearInterval(this.timer); 
      window.clearInterval(filterTimer); 
    } 
 
    this.showFrame = function(){ 
      // 設置當前按鈕樣式 
      this.controls[this.oldFrame].style.backgroundColor = "white"; 
      this.controls[this.curFrame].style.backgroundColor = "gray"; 
 
      if(isIE) this.container.style.filter = "alpha(opacity=0)"; 
      else this.container.style.cssText = "-moz-opacity:0"; 
 
      this.container.innerHTML = this.data[this.curFrame]; 
      filterTimer = window.setInterval("blend()", 100); 
       
      this.oldFrame = this.curFrame; 
      this.curFrame ++; 
      if(this.curFrame == this.data.length){ 
        this.curFrame = 0; 
      }       
    } 
  } 
   // 增加透明度 
  function blend(){ 
    curOpac+=10; 
    if(isIE) Global.container.style.filter='alpha(opacity=' + curOpac + ')'; 
    else Global.container.style.cssText = "-moz-opacity:" + curOpac/100.0; 
 
    if(curOpac == 100){ 
      curOpac = 0; 
      window.clearInterval(filterTimer); 
    } 
  } 
  //開始 
   
  function startIt(){ 
    var imgArr = []; 
    // 創(chuàng)建4個圖片對象保存圖片路徑 
    for(var i=0;i<4;i++){ 
      imgArr[i] = new Image(); 
      imgArr[i].src = "images/banner" + (i + 1) + ".jpg"; 
    } 
     
    var controlArr = $("mainTb").getElementsByTagName("span"); 
    for(var i=0;i<controlArr.length;i++){ 
      controlArr[i].tag = i; 
      controlArr[i].onclick = function(){ 
        myScroll.go(this.tag); 
      } 
    } 
 
    var myScroll = new MyScroll($("cnt"), controlArr); 
    myScroll.data.push("<img src='" + imgArr[0].src + "'>"); 
    myScroll.data.push("<img src='" + imgArr[1].src + "'>"); 
    myScroll.data.push("<img src='" + imgArr[2].src + "'>"); 
    myScroll.data.push("<img src='" + imgArr[3].src + "'>"); 
     
    myScroll.go(0); 
  } 
   
  window.onload = startIt; 
 
  function $(id){ return document.getElementById(id);} 
//--> 
</script> 
<BODY> 
<table width="300" height="100" id="mainTb"> 
  <tr> 
  <th rowspan="4"><div id="cnt"> </div></td> 
  <td width="15"><span class="ctrl"> 1 </span></td> 
  </tr> 
  <tr> 
  <td><span class="ctrl"> 2 </span></td> 
  </tr> 
  <tr> 
  <td><span class="ctrl"> 3 </span></td> 
  </tr> 
  <tr> 
  <td><span class="ctrl"> 4 </span></td> 
  </tr> 
</table> 
</BODY> 
</HTML> 

以上就是本文的全部內容,希望對大家學習javascript程序設計有所幫助。

相關文章

  • JavaScript中this綁定規(guī)則你理解了嗎

    JavaScript中this綁定規(guī)則你理解了嗎

    JavaScript中的this是一個非常重要的概念,也是一個令新手開發(fā)者甚至有些不深入理解的多年經驗開發(fā)者都會感到困惑的概念,如果你希望自己能夠使用this編寫更好的代碼或者更好理解他人的代碼,就跟隨小編一起理解一下this吧
    2023-07-07
  • JS重載實現方法分析

    JS重載實現方法分析

    這篇文章主要介紹了JS重載實現方法,結合實例形式分析了javascript重載的實現與使用方法,需要的朋友可以參考下
    2016-12-12
  • 實例分析JS中的相等性判斷===、 ==和Object.is()

    實例分析JS中的相等性判斷===、 ==和Object.is()

    這篇文章主要給大家介紹了關于JS中相等性判斷===、 ==和Object.is()的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JS具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • JavaScript實現計算多維嵌套數組深度

    JavaScript實現計算多維嵌套數組深度

    在前端開發(fā)中,經常會遇到需要處理多維嵌套的數據結構,并需要計算出它們的深度,本文就來講講如何使用JavaScript實現計算多維嵌套數組深度吧
    2023-06-06
  • await/async無法捕獲與處理錯誤信息的解決方案分享

    await/async無法捕獲與處理錯誤信息的解決方案分享

    async await 中添加錯誤處理個人認為是有必要的,下面這篇文章主要給大家介紹了關于await/async無法捕獲與處理錯誤信息的解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 微信小程序中實現車牌輸入功能

    微信小程序中實現車牌輸入功能

    我們都知道車牌是有一定規(guī)律的,本文實現了微信小程序中實現車牌輸入功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • JavaSctit 利用FileReader和濾鏡上傳圖片預覽功能

    JavaSctit 利用FileReader和濾鏡上傳圖片預覽功能

    FileReader 對象允許Web應用程序異步讀取存儲在用戶計算機上的文件內容,使用 File或 Blob對象指定要讀取的文件或數據。下面通過本文給大家分享JavaSctit 利用FileReader和濾鏡上傳圖片預覽功能,需要的朋友參考下吧
    2017-09-09
  • 基于JavaScript的簡易計算器功能

    基于JavaScript的簡易計算器功能

    這篇文章主要為大家詳細介紹了基于JavaScript的簡易計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • JavaScript Array對象使用方法解析

    JavaScript Array對象使用方法解析

    這篇文章主要介紹了JavaScript Array對象使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • TypeScript中的類型斷言[as語法|<>語法]的使用

    TypeScript中的類型斷言[as語法|<>語法]的使用

    本文主要介紹了TypeScript中的類型斷言[as語法|<>語法]的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論