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

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

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

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

輪播圖

需求:

圖片循環(huán)輪播,可點擊左右切換,切換狀態(tài)與<li>綁定,鼠標移入圖片懸停,鼠標移出圖片繼續(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代碼,使用時記得在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下標對應
 

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

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

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

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

    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;

廣告插件

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

<div id="win">
        <img id = "img" />
        <button id = "ad_btn">X</button>  
        //我這是練習,叉號用的X替代,自己做項目加入時可以換成Icon
</div>
//頁面加載結束彈出廣告,廣告切換展示,點擊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();
}

實現(xiàn)展示:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • event對象的方法 兼容多瀏覽器

    event對象的方法 兼容多瀏覽器

    event對象的方法 兼容多瀏覽器 同時兼容ie和ff的寫法
    2009-06-06
  • Bootstrap導航條的使用和理解3

    Bootstrap導航條的使用和理解3

    這篇文章主要為大家詳細介紹了關于Bootstrap導航條的使用和理解的學習記錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript組合模式---引入案例分析

    JavaScript組合模式---引入案例分析

    這篇文章主要介紹了JavaScript組合模式,結合具體案例形式分析了JavaScript組合模式定義、應用與相關操作注意事項,需要的朋友可以參考下
    2020-05-05
  • 一文讀懂JavaScript 中的延遲加載屬性模式

    一文讀懂JavaScript 中的延遲加載屬性模式

    開發(fā)人員在javascript類中為實例中需要的任何書籍創(chuàng)建屬性,但是如果實例中可用之前需要計算某些數據該如何處理呢,今天小編通過本文給大家分享JavaScript 中的延遲加載屬性模式,一起看看吧
    2021-06-06
  • JavaScript中子函數訪問外部變量的3種解決方法

    JavaScript中子函數訪問外部變量的3種解決方法

    任何在函數中定義的變量,都可認為是私有變量,因為不能在函數外部訪問這些變量,這篇文章主要給大家介紹了關于JavaScript中子函數訪問外部變量的3種解決方法,需要的朋友可以參考下
    2021-06-06
  • js全選實現(xiàn)和判斷是否有復選框選中的方法

    js全選實現(xiàn)和判斷是否有復選框選中的方法

    這篇文章主要介紹了js全選實現(xiàn)和判斷是否有復選框選中的方法,涉及javascript操作復選框的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-02-02
  • 用ES6的class模仿Vue寫一個雙向綁定的示例代碼

    用ES6的class模仿Vue寫一個雙向綁定的示例代碼

    本篇文章主要介紹了用ES6的class模仿Vue寫一個雙向綁定的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 比例尺、縮略圖、平移縮放之百度地圖添加控件方法

    比例尺、縮略圖、平移縮放之百度地圖添加控件方法

    這篇文章主要介紹了比例尺、縮略圖、平移縮放之百度地圖添加控件方法,大家都知道百度地圖API中提供了豐富的控件,您還可以通過Control類來實現(xiàn)自定義控件,需要的朋友可以參考下
    2015-08-08
  • 淺談Javascript中的12種DOM節(jié)點類型

    淺談Javascript中的12種DOM節(jié)點類型

    DOM是javascript操作網頁的接口,全稱為文檔對象模型(Document Object Model)。本文將主要說明DOM節(jié)點類型,有需要的可以參考借鑒。
    2016-08-08
  • Bootstrap Table從零開始

    Bootstrap Table從零開始

    Bootstrap Table從零開始,這篇文章主要介紹了Bootstrap Table的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評論