国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

原生JavaScript輪播效果,噢,其實(shí)什么才叫原生

pkhope / 1441人閱讀

摘要:結(jié)構(gòu)毫無美感的,畢竟就一個(gè)嘛上一張下一張代碼使用定時(shí)器定時(shí)切換圖片輪播效果鼠標(biāo)停留在圖片上時(shí)停止切換圖片,離開后繼續(xù)切換圖片圖片點(diǎn)擊上一張下一張時(shí)自動(dòng)切換,并自我進(jìn)行判斷是否為第一張或最后一張。

這年頭,哪個(gè)app,哪個(gè)小程序沒個(gè)輪播圖呢,并且鴨,哪個(gè)ui框架不給你提供呢是吧。
但是懂寫原生輪播圖是不是也很裝逼呀嘻嘻。so,我們還是先得理解輪播圖的技術(shù)要點(diǎn)是什么吧

1. 使用定時(shí)器定時(shí)切換圖片輪播效果
2. 鼠標(biāo)停留在圖片上時(shí)停止切換圖片,離開后繼續(xù)切換圖片
3. 圖片點(diǎn)擊上一張下一張時(shí)自動(dòng)切換,并自我進(jìn)行判斷是否為第一張或最后一張。
當(dāng)圖片為第一張時(shí),點(diǎn)擊上一張到最后一張圖片,當(dāng)圖片為最后一張時(shí),點(diǎn)擊下一張到第一張。

HTML結(jié)構(gòu)(毫無美感的html,畢竟就一個(gè)demo嘛)

        
    
上一張
下一張

JavaScript代碼

/*
 * 1.使用定時(shí)器定時(shí)切換圖片輪播效果
 * 2.鼠標(biāo)停留在圖片上時(shí)停止切換圖片,離開后繼續(xù)切換圖片
 * 3.圖片點(diǎn)擊上一張下一張時(shí)自動(dòng)切換,并自我進(jìn)行判斷是否為第一張或最后一張。
 *   當(dāng)圖片為第一張時(shí),點(diǎn)擊上一張到最后一張圖片,當(dāng)圖片為最后一張時(shí),點(diǎn)擊下一張到第一張。
 * 
 * onmouseover 事件會(huì)在鼠標(biāo)指針移動(dòng)到指定的對(duì)象上時(shí)發(fā)生。
 * onmouseout 事件會(huì)在鼠標(biāo)指針移出指定的對(duì)象時(shí)發(fā)生。
 * */

// 將所有圖片url放入一個(gè)數(shù)組,將index的值設(shè)置為0
var imgs = ["img/1.jpg", "img/2.jpg", "img/3.jpg"];
var index = 0;
var stopValue = 0;
var startValue = 0;
var img = document.getElementsByTagName("img")[0]; // 獲取img的dom
function carousel() { // 切換圖片        
    if (index < imgs.length-1) {
        index++;
        img.setAttribute("src", imgs[index]);
    } else{
        index = 0;
        img.setAttribute("src", imgs[index]);
    }
}
/*
 * 定義兩個(gè)全局變量stopValue 和startValue 為0,
 * onmouseover和onmouseout從進(jìn)入對(duì)應(yīng)的元素范圍到離開對(duì)應(yīng)的元素范圍會(huì)執(zhí)行很多次,
 * 通過兩個(gè)全局全局變量,讓它不管在對(duì)應(yīng)的元素范圍內(nèi)如何移動(dòng)都只執(zhí)行一次,
 * 避免setInterval時(shí)間出錯(cuò)。
 * */
function stop(){ // 進(jìn)入圖片時(shí)停止輪播
    stopValue+=1;
    if (stopValue < 2) {
        clear();
        startValue = 0;
    }
}
function start(){ // 離開圖片時(shí)繼續(xù)輪播
    startValue+=1;
    if (startValue < 2) {
        setInt();
        stopValue = 0;
    }
}
function clear(){ // 清除定時(shí)器
    clearInterval(int);
}
function setInt(){ // 重新執(zhí)行定時(shí)器
    int = setInterval("carousel()", 3000);
}
/*
 * 在切換圖片時(shí)也調(diào)用了shop()和start()方法
 * 目的時(shí)為了解除在輪播過程中,在即將切換圖片時(shí),手動(dòng)切換圖片了卻又立馬進(jìn)入到下一張圖片
 * */
function left(){ // 上一張切換圖片
    stop();
    if (index > 0) {
        index -= 1;
        img.setAttribute("src", imgs[index]);
    } else{
        index = imgs.length-1;
        img.setAttribute("src", imgs[index]);
    }
    start();
}
function right(){ // 下一張切換圖片
    stop();
    if (index < imgs.length-1) {
        index +=1;
        img.setAttribute("src", imgs[index]);
    } else{
        index = 0;
        img.setAttribute("src", imgs[index]);
    }
    start();
}
var int = setInterval("carousel()", 3000);

噢對(duì)了,這次滴文章參考了這位大大的文章,嘻嘻該承認(rèn)還是得承認(rèn),誰讓我還是一個(gè)孩子呢
貌似這距離實(shí)用的輪播效果不遠(yuǎn)了呀,但肯定還有很多缺點(diǎn),望大家指出~~~
我滴媽呀,可能加個(gè)css過渡效果可能會(huì)順眼很多,可誰讓我css渣呢,不說了去進(jìn)修先~~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/99976.html

相關(guān)文章

  • 手把手教你用原生JavaScript造輪子(2)——輪播圖(更新:ES6版本)

    摘要:綁定輪播事件然后是鼠標(biāo)移入移出事件的綁定鼠標(biāo)移入移出事件移入時(shí)停止輪播播放的定時(shí)器,移出后自動(dòng)開始下一張的播放。 通過上一篇文章的學(xué)習(xí),我們基本掌握了一個(gè)輪子的封裝和開發(fā)流程。那么這次將帶大家開發(fā)一個(gè)更有難度的項(xiàng)目——輪播圖,希望能進(jìn)一步加深大家對(duì)于面向?qū)ο蟛寮_發(fā)的理解和認(rèn)識(shí)。 So, Lets begin! 目前項(xiàng)目使用 ES5及UMD 規(guī)范封裝,所以在前端暫時(shí)只支持標(biāo)簽的引入方式...

    jasperyang 評(píng)論0 收藏0
  • 回顧自己三次失敗的面試經(jīng)歷

    摘要:站在這個(gè)時(shí)間點(diǎn)上,我對(duì)自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當(dāng)然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進(jìn)大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時(shí)間的齒輪已經(jīng)來到了2017年的11月份,距離2018年僅僅還剩下不到兩...

    DC_er 評(píng)論0 收藏0
  • 回顧自己三次失敗的面試經(jīng)歷

    摘要:站在這個(gè)時(shí)間點(diǎn)上,我對(duì)自己之前三次失敗的面試經(jīng)歷做了一次深度回顧。關(guān)于我第三次面試失敗的經(jīng)歷,依然是與輪播圖有關(guān)。當(dāng)然,這次思特奇面試之旅,最后也是以失敗告終,這也是我離進(jìn)大廠最近的一次。 showImg(https://segmentfault.com/img/bVYQuP?w=528&h=513); 前言 時(shí)間的齒輪已經(jīng)來到了2017年的11月份,距離2018年僅僅還剩下不到兩...

    spacewander 評(píng)論0 收藏0
  • 授人以漁式解析原生JS寫輪播

    摘要:鼠標(biāo)放到輪播圖的圖片上時(shí)不再自動(dòng)輪播并且左右箭頭顯示出來,鼠標(biāo)移開時(shí)左右箭頭隱藏掉并且自動(dòng)輪播。核心原理清除定時(shí)器,綁定事件,重構(gòu)下代碼封裝出往右往左輪播函數(shù)和自動(dòng)輪播函數(shù)。 需求與分析 需求:循環(huán)無縫自動(dòng)輪播五張圖,按左右箭頭可以手動(dòng)切換圖片,鼠標(biāo)點(diǎn)擊輪播圖下面按鈕 1 2 3 4 5會(huì)跳轉(zhuǎn)到對(duì)應(yīng)的第1 2 3 4 5張圖片。鼠標(biāo)放到輪播圖的圖片上時(shí)不再自動(dòng)輪播并且左右箭頭顯示出來,...

    Zack 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<