最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生JS實(shí)現(xiàn)圖片輪播 JS實(shí)現(xiàn)小廣告插件

 更新時(shí)間:2021年09月22日 11:42:30   作者:zxt_x  
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)圖片輪播、小廣告插件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近想用原生JS多實(shí)現(xiàn)一些小功能,現(xiàn)在寫到博客里,大家可以借鑒,有問題歡迎指出。

輪播圖

需求:

圖片循環(huán)輪播,可點(diǎn)擊左右切換,切換狀態(tài)與<li>綁定,鼠標(biāo)移入圖片懸停,鼠標(biāo)移出圖片繼續(xù)循環(huán)切換。

<!DOCTYPE html>
 
<html lang="en">
 
<head>
 
    <meta charset="UTF-8">
    <title>原生js輪播圖片</title>
 
</head>
 
<style>
    .container{
        width: 100%;
        height: 500px;
        position: relative;
    }

    .content{
        width: 900px;
        height: 450px;
        position: relative;
        overflow: hidden; 
        border: 1px solid seagreen; 
        margin: 0 auto;
    }
 
    .slider-img{ 
        width: 900px; 
        height: 450px; 
        margin: 10px auto; 
    }
 
    .slider-img img{
        vertical-align: top;
        width: 800px;
        height: 400px;
        margin: 10px 50px;
        display: block;
 
    }
 
    .left{
        margin-top: -300px;
        margin-left: 50px;
        width: 100px;
        height: 100px;
    }
 
    .left img,.right img{
        width: 100px;
        height: 100px;
    }
 
    .right{
        margin-top: -100px;
        margin-right: 50px;
        float: right;
        width: 100px;
        height: 100px;
 
    }
 
 
 
    .dot{
        position: relative;
        top: 23%;
        left: 43%;
        width: 50%;
    }
 
    .dotul{
        width: 450px;
    }

    .dotul li{ 
        width: 20px; 
        height: 20px;
        background-color: seagreen;
        list-style: none;
        float: left;
        border-radius: 20px; 
        margin-left: 15px; 
        z-index: 999; 
        cursor: pointer; 
    }
 
    .active{
        background-color: orangered !important;
    }
 
 
 
</style>
 
<body>
 
    <div class="container" id="container">
 
        <div class="content" id="content">
            <div class="slider-img" id="slider" >
                  <a href="javascript:;" >
                    <img src="./img/88.jpg" alt="" id="img">
                </a>
            </div>
 
        </div>
        <div class="btn">
            <div class="left" id="left">
                <a href=" ###" ><img src=""></a>
            </div>
 
            <div class="right" id="right">
                <a href=" ###" ><img src=""></a>
            </div>
        </div>
 
        <div class="dot">
            <ul id="ul" class="dotul">
                <li class="active"></li>
                <li></li>
                <li></li>
               <li></li>
            </ul>
        </div>
</div>

js代碼,使用時(shí)記得在html里引入JS。

var container = document.getElementById("container"); 
var content = document.getElementById("content");
var slider = document.getElementById("slider");
var img = document.getElementById("img");
var ul = document.getElementById("ul"); 
var li = document.getElementsByTagName("li"); 
var left = document.getElementById("left"); 
var right = document.getElementById("right"); 
var num = 0;
var timer = null;    
var picList = ["./img/88.jpg","./img/are.jpg","./img/family.jpg","./img/one.jpg"];
//將li與list下標(biāo)對應(yīng)
 

    //設(shè)置展示圖片的方法,展示時(shí),li的圓點(diǎn)與圖片綁定在一起
    ShowPicture = function() {
       img.src = picList[num];
       for(var i = 0 ; i < li.length;i++) {
           li[i].className = '';
       }
       li[num].className = 'active';
    }
  
    //左點(diǎn)擊,如果已經(jīng)是第一張了就返回最后一張

    left.onclick = function() {
        num--;
        if(num < 0) {
           num = picList.length-1;
        }
        ShowPicture();
    }
  

    //右點(diǎn)擊,若已經(jīng)是最后一張返回第一張
    right.onclick = function() {
        num++;
        if(num >= picList.length) {   //3
            num = 0;
        }
        ShowPicture();
    }
    
     //實(shí)現(xiàn)點(diǎn)擊圓點(diǎn)跳轉(zhuǎn)對應(yīng)圖片,將li與list下標(biāo)對應(yīng)list.index=li.index
   
     for(var i = 0; i < picList.length ; i++) {
         li[i].index = i;
         li[i].onclick = function() {
             num = this.index;
             ShowPicture();
         }
     }

    //自動輪播圖片,每次調(diào)用要記得清除定時(shí)器,并在調(diào)用后回歸定時(shí)器,防止時(shí)間差越變越大

    autoChange = function() {
        clearInterval(timer);
        timer = setInterval(() => {
            num++;
            num %= picList.length;
            ShowPicture();
        }, 3000);
        return timer;
    }
    window.onload = autoChange;

   
    //事件
    img.onmouseover = function() {
        clearInterval(timer);
    }
    img.onmouseleave = autoChange;

廣告插件

需求:頁面加載結(jié)束后彈出廣告,廣告輪播展示,鼠標(biāo)移入懸停,移出繼續(xù)展示,點(diǎn)X可刪除。

<div id="win">
        <img id = "img" />
        <button id = "ad_btn">X</button>  
        //我這是練習(xí),叉號用的X替代,自己做項(xiàng)目加入時(shí)可以換成Icon
</div>
//頁面加載結(jié)束彈出廣告,廣告切換展示,點(diǎn)擊X可刪除,
var ad = document.getElementById('win');
var img = document.getElementById('img');
var ad_btn  = document.getElementById('ad_btn');
var timer;
window.onload = function () {
    // clearInterval(timer);
    timer = setTimeout(() => {
            ad.style.display = 'block';  
        }, 2000);
        change();
}

var count=0;
var num = 0;
var imgTimer = null;
//picture srcList
var picList = ['../img/88.jpg','../img/one.jpg','../img/family.jpg','../img/are.jpg'];
function change() {
    clearInterval(imgTimer)
    imgTimer = setInterval(() => {
       if(count === picList.length) {
           count = 0;
           resetShow();
       } else {
           startShow();
       }
       count++;          
   }, 3000);
}
function resetShow() {
    img.src = picList[0];
    num = 0;
    startShow();
}

function startShow() {
    if(num < picList.length) {
        img.src = picList[num++];
    } else {
        resetShow();
    }
   
}


ad_btn.addEventListener('click' , (e)=>{
    ad.style.display = 'none';
    clearTimeout(timer)
});

ad.addEventListener('mouseover' , ()=>{
    clearInterval(imgTimer);
})
ad.onmouseleave = function() {
    change();
}

實(shí)現(xiàn)展示:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS讀寫CSS樣式的方法匯總

    JS讀寫CSS樣式的方法匯總

    這篇文章主要為大家詳細(xì)匯總了JS讀寫CSS樣式的方法,內(nèi)容詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 詳解JavaScript函數(shù)對象

    詳解JavaScript函數(shù)對象

    函數(shù)是由事件驅(qū)動的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊,JavaScript 中的所有事物都是對象:字符串、數(shù)值、數(shù)組、函數(shù),下面通過本文給大家介紹JavaScript函數(shù)對象,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • js獲取當(dāng)前日期時(shí)間及其它日期操作匯總

    js獲取當(dāng)前日期時(shí)間及其它日期操作匯總

    這篇文章主要介紹了js獲取當(dāng)前日期時(shí)間及其它日期操作匯總,感興趣的小伙伴們可以參考一下
    2016-03-03
  • javascript實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)值并顯示的方法

    javascript實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)值并顯示的方法

    這篇文章主要介紹了javascript實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)值并顯示的方法,涉及javascript操作鼠標(biāo)事件的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 完美解決IE不支持Data.parse()的問題

    完美解決IE不支持Data.parse()的問題

    下面小編就為大家?guī)硪黄昝澜鉀QIE不支持Data.parse()的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起 小編過來看看吧
    2016-11-11
  • tween.js緩動補(bǔ)間動畫算法示例

    tween.js緩動補(bǔ)間動畫算法示例

    本篇文章主要介紹了tween.js緩動補(bǔ)間動畫示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • JavaScript可折疊區(qū)域?qū)崿F(xiàn)代碼

    JavaScript可折疊區(qū)域?qū)崿F(xiàn)代碼

    可折疊區(qū)域的基本思想:通過點(diǎn)擊某個(gè)地方來顯示或隱藏屏幕中的某個(gè)區(qū)域。
    2010-10-10
  • 批量實(shí)現(xiàn)面向?qū)ο蟮膶?shí)例代碼

    批量實(shí)現(xiàn)面向?qū)ο蟮膶?shí)例代碼

    本文為大家詳細(xì)介紹下面向?qū)ο蟮睦^承以及如何實(shí)現(xiàn)批量實(shí)現(xiàn)面向?qū)ο螅信d趣的可以參考下哈,希望對大家有所幫助
    2013-07-07
  • JavaScript實(shí)現(xiàn)顯示隱藏表單文字

    JavaScript實(shí)現(xiàn)顯示隱藏表單文字

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)顯示隱藏表單文字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • js中l(wèi)et和var定義變量的區(qū)別

    js中l(wèi)et和var定義變量的區(qū)別

    這篇文章主要介紹了js中l(wèi)et和var定義變量的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02

最新評論

衡南县| 读书| 万宁市| 和硕县| 蒙阴县| 延川县| 都江堰市| 汝州市| 乌兰县| 政和县| 万州区| 阿拉善盟| 宿松县| 建始县| 长寿区| 辉县市| 夹江县| 汶川县| 新民市| 寿光市| 武安市| 安阳县| 休宁县| 获嘉县| 枞阳县| 淄博市| 新乡县| 通山县| 兴山县| 曲沃县| 湘西| 三穗县| 清涧县| 丰镇市| 乌兰浩特市| 章丘市| 临湘市| 滁州市| 桐城市| 肥乡县| 柳河县|