<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:26:34
        文檔

        JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果

        JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果:大家或許做過(guò)(照片輪播)無(wú)限滾動(dòng)圖片的項(xiàng)目,但是,如果使用普通的滾動(dòng),當(dāng)?shù)竭_(dá)最后一張時(shí),便會(huì)滾動(dòng)回第一張,這是一個(gè)非常不好的用戶體驗(yàn)。下面通過(guò)本文給大家分享基于JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,具體實(shí)現(xiàn)代碼如下所示: 實(shí)現(xiàn)效
        推薦度:
        導(dǎo)讀JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果:大家或許做過(guò)(照片輪播)無(wú)限滾動(dòng)圖片的項(xiàng)目,但是,如果使用普通的滾動(dòng),當(dāng)?shù)竭_(dá)最后一張時(shí),便會(huì)滾動(dòng)回第一張,這是一個(gè)非常不好的用戶體驗(yàn)。下面通過(guò)本文給大家分享基于JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,具體實(shí)現(xiàn)代碼如下所示: 實(shí)現(xiàn)效

        大家或許做過(guò)(照片輪播)無(wú)限滾動(dòng)圖片的項(xiàng)目,但是,如果使用普通的滾動(dòng),當(dāng)?shù)竭_(dá)最后一張時(shí),便會(huì)滾動(dòng)回第一張,這是一個(gè)非常不好的用戶體驗(yàn)。下面通過(guò)本文給大家分享基于JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,具體實(shí)現(xiàn)代碼如下所示:

        實(shí)現(xiàn)效果:

        實(shí)現(xiàn)原理:

        // 步驟
        // 1. 獲取事件源以及相關(guān)元素
        // 2. 復(fù)制第一張圖片所在的li,添加到ul的最后面
        // 3. 給ol添加li,ul中的個(gè)數(shù)-1個(gè),并點(diǎn)亮第一個(gè)按鈕
        // 4. 鼠標(biāo)放到ol的li上切換圖片
        // 5. 添加定時(shí)器
        // 6. 左右切換圖片(鼠標(biāo)放上去隱藏,移開(kāi)顯示)

        實(shí)現(xiàn)代碼:

        <!DOCTYPE html>
        <html>
        <head>
         <title>輪播圖</title>
         <meta charset="utf-8">
         <style type="text/css">
         *{
         padding: 0;
         margin: 0;
         list-style: none;
         border: 0;
         }
         .all{
         width: 500px;
         height: 200px;
         padding: 7px;
         margin: 100px auto;
         position: relative;
         box-shadow: 1px 1px 5px #2d2d2d;
         }
         .screen{
         width: 500px;
         height: 200px;
         overflow: hidden;
         position: relative;
         }
         .screen li{
         width: 500px;
         height: 200px;
         overflow: hidden;
         float: left;
         }
         .screen ul{
         position: absolute;
         left: 0;
         top: 0;
         width: 3000px;
         }
         .all ol{
         position: absolute;
         right: 10px;
         bottom: 10px;
         line-height: 20px;
         text-align: center;
         }
         .all ol li{
         float: left;
         width: 20px;
         height: 20px;
         text-align: center;
         background-color: #fff;
         border: 1px solid #ccc;
         margin-left: 10px;
         cursor: pointer;
         }
         .all ol li.current{
         background-color: #03c03c;
         }
         #arr{
         display: none;
         }
         #arr span{
         width: 40px;
         height: 40px;
         left: 5px;
         top: 50%;
         position: absolute;
         margin-top: -20px;
         background-color: #000;
         cursor: pointer;
         line-height: 35px;
         text-align: center;
         font-weight: bold;
         font-family: "微軟雅黑";
         font-size: 30px;
         color: #fff;
         opacity: 0.3;
         border-radius: 50%;
         box-shadow: 1px 1px 3px #2d2d2d;
         }
         #arr #right{
         right: 5px;
         left: auto;
         }
         </style>
        </head>
        <body>
        <div class="all" id="all">
         <div class="screen" id="screen">
         <ul id="ul">
         <li><img src="./images/01.jpg" width="500" height="200"></li>
         <li><img src="./images/02.jpg" width="500" height="200"></li>
         <li><img src="./images/03.jpg" width="500" height="200"></li>
         <li><img src="./images/04.jpg" width="500" height="200"></li>
         <li><img src="./images/05.jpg" width="500" height="200"></li>
         </ul>
         <!-- 圖片子菜單 -->
         <ol>
         </ol>
         <!-- 左右切換按鈕 -->
         <div id="arr">
         <span id="left"><</span>
         <span id="right">></span>
         </div>
         </div>
        </div>
        <!-- script -->
        <script type="text/javascript">
         // 賦值第一張圖片放到ul的最后,當(dāng)圖片切換到第五張的時(shí)候,直接切換第六張,再?gòu)牡谝粡埱袚Q到第二張的時(shí)候先瞬間切換到第一張圖片,然后滑倒第二張
         // 步驟
         // 1. 獲取事件源以及相關(guān)元素
         // 2. 復(fù)制第一張圖片所在的li,添加到ul的最后面
         // 3. 給ol添加li,ul中的個(gè)數(shù)-1個(gè),并點(diǎn)亮第一個(gè)按鈕
         // 4. 鼠標(biāo)放到ol的li上切換圖片
         // 5. 添加定時(shí)器
         // 6. 左右切換圖片(鼠標(biāo)放上去隱藏,移開(kāi)顯示)
         // 1. 獲取事件源以及相關(guān)元素
         var all = document.getElementById("all");
         var screen = all.firstElementChild || all.firstChild;
         var imgWidth = screen.offsetWidth;
         var ul = screen.firstElementChild || screen.firstChild;
         var ol = screen.children[1];
         var div = screen.lastElementChild || screen.lastChild;
         var spanArr = div.children;
         // 2. 復(fù)制第一張圖片所在的li,添加到ul的最后面
         var ulNewLi = ul.children[0].cloneNode(true);
         ul.appendChild(ulNewLi);
         // 3. 給ol添加li,ul中的個(gè)數(shù)-1個(gè),并點(diǎn)亮第一個(gè)按鈕
         for(var i=0; i<ul.children.length-1; i++){
         var olNewLi = document.createElement("li");
         olNewLi.innerHTML = i+1;
         ol.appendChild(olNewLi);
         } 
         var olLiArr = ol.children;
         olLiArr[0].className = "current";
         // 4. 鼠標(biāo)放到ol的li上切換圖片
         for(var i=0; i<olLiArr.length; i++){
         // 自定義屬性,把索引值綁定到元素的index屬性上
         olLiArr[i].index = i;
         olLiArr[i].onmouseover = function(){
         // 排他思想
         for(var j=0; j<olLiArr.length; j++){
         olLiArr[j].className = "";
         }
         this.className = "current"
         // 鼠標(biāo)放到小方塊上時(shí),索引值和key以及square同步
         // key = this.index;
         // square = this.index;
         key = square = this.index;
         // 移動(dòng)盒子
         animate(ul, -this.index*imgWidth);
         }
         }
         // 5. 添加定時(shí)器
         var timer = setInterval(autoPlay, 1000);
         // 固定向右切換圖片
         // 兩個(gè)定時(shí)器(一個(gè)記錄圖片,一個(gè)記錄子菜單欄)
         var key = 0;
         var square = 0;
         function autoPlay(){
         // 通過(guò)key的自增來(lái)模擬圖片的索引值,然后移動(dòng)ul
         key++;
         if(key > olLiArr.length){
         // 圖片已經(jīng)滑到最后一張,接下來(lái)應(yīng)該跳轉(zhuǎn)到第一張,然后滑動(dòng)到第二張
         ul.style.left = 0;
         key = 1;
         }
         animate(ul, -key*imgWidth);
         // 通過(guò)控制square的自增來(lái)模擬小方塊的索引值,然后點(diǎn)亮盒子
         // 排他思想做小方塊
         square++;
         if(square > olLiArr.length-1){
         // 索引值不能大于5,如果大于5則立即變?yōu)?;
         square = 0;
         }
         for(var i=0; i<olLiArr.length; i++){
         olLiArr[i].className = "";
         }
         olLiArr[square].className = "current";
         }
         // 鼠標(biāo)放上去清除定時(shí)器,移開(kāi)啟動(dòng)定時(shí)器
         all.onmouseover = function(){
         div.style.display = "block";
         clearInterval(timer);
         }
         all.onmouseout = function(){
         div.style.display = "none";
         timer = setInterval(autoPlay,1000);
         }
         // 6. 左右切換圖片(鼠標(biāo)放上去顯示,移開(kāi)隱藏)
         spanArr[0].onclick = function(){
         // 通過(guò)控制key的自增來(lái)模擬圖片的索引值,然后移動(dòng)ul
         key--;
         if(key<0){
         // 先移到最后一張,然后key的值取前一張的索引值,然后向前移動(dòng)
         ul.style.left = -imgWidth*(olLiArr.length) + "px";
         key = olLiArr.length-1;
         }
         animate(ul, -key*imgWidth);
         // 通過(guò)控制square的自增來(lái)模擬小方塊的索引值,然后點(diǎn)亮小方塊
         square--;
         if(square<0){
         // 索引值不能大于等于5,如果為5,立即變?yōu)?
         square = olLiArr.length-1;
         }
         for(var i=0; i<olLiArr.length; i++){
         olLiArr[i].className = "";
         }
         olLiArr[square].className = "current";
         }
         spanArr[1].onclick = function(){
         // 右側(cè)的和定時(shí)器一模一樣
         autoPlay();
         }
         // 動(dòng)畫(huà)封裝
         var absSpeed = 10; //設(shè)定步長(zhǎng)
         function animate(ele, target){
         clearInterval(ele.timer);
         var speed = target > ele.offsetLeft ? absSpeed : -absSpeed;
         ele.timer = setInterval(function(){
         var val = target - ele.offsetLeft;
         ele.style.left = ele.offsetLeft + speed + "px";
         if(Math.abs(val) < Math.abs(speed)){
         ele.style.left = target + "px";
         clearInterval(ele.timer);
         }
         }, 10)
         }
        </script>
        </body>
        </html>

        總結(jié)

        以上所述是小編給大家介紹的JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果

        JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果:大家或許做過(guò)(照片輪播)無(wú)限滾動(dòng)圖片的項(xiàng)目,但是,如果使用普通的滾動(dòng),當(dāng)?shù)竭_(dá)最后一張時(shí),便會(huì)滾動(dòng)回第一張,這是一個(gè)非常不好的用戶體驗(yàn)。下面通過(guò)本文給大家分享基于JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,具體實(shí)現(xiàn)代碼如下所示: 實(shí)現(xiàn)效
        推薦度:
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專題
        Top
        主站蜘蛛池模板: 97免费人妻无码视频| 99久热只有精品视频免费观看17| 最新中文字幕电影免费观看| 国产一卡二卡≡卡四卡免费乱码 | eeuss影院免费直达入口| 国产成人aaa在线视频免费观看 | 黄色免费在线网站| 91在线视频免费看| 亚洲成a人片在线观看无码专区| 亚洲综合精品伊人久久| 少妇人妻偷人精品免费视频| 国产精品成人免费综合| 美女扒开屁股让男人桶爽免费| 2021精品国产品免费观看| 亚洲毛片免费观看| 成人午夜免费福利| 理论亚洲区美一区二区三区| 黄页免费的网站勿入免费直接进入| 亚洲六月丁香六月婷婷蜜芽| 女性无套免费网站在线看| 自拍偷自拍亚洲精品播放| 国产精品亚洲产品一区二区三区 | 又色又污又黄无遮挡的免费视| 亚洲蜜芽在线精品一区| 黄在线观看www免费看| 亚洲乱码在线卡一卡二卡新区| 99xxoo视频在线永久免费观看| 亚洲国产精品久久丫| av永久免费网站在线观看| 无码不卡亚洲成?人片| 亚洲AV无码无限在线观看不卡| 免费爱爱的视频太爽了| 亚洲激情视频图片| 日韩版码免费福利视频| 国产成人 亚洲欧洲| AV免费网址在线观看| 免费国产黄网站在线观看动图 | 亚洲国产精品张柏芝在线观看| 在线免费观看中文字幕| 一级毛片**免费看试看20分钟| 亚洲电影日韩精品|