电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

js實現輪播圖特效

瀏覽:94日期:2024-05-06 14:52:21

本文實例為大家分享了js實現輪播圖特效的具體代碼,供大家參考,具體內容如下

只需要修改圖片的src即可

html:

<body> <div id='rollImgBox'> <div class='photos clearfix'> <!--輪播圖里面首位多放最后一張與第一張圖片,以便順暢平滑切換--> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(7).jpg' alt=''></div> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(4).jpg' alt=''></div> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(5).jpg' alt=''></div> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(6).jpg' alt=''></div> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(7).jpg' alt=''></div> <div class='move'><img src='http://www.hdgsjgj.cn/bcjs/img/timg%20(4).jpg' alt=''></div> </div> <!--points圓點導航,js動態生成--> <div class='points'></div> <!--如果需要向左與向右的按鍵,引入方向圖片--> <span class='leftPoint'> &lt; </span> <span class='rightPoint'> &gt; </span> </div></body>

style:

*{ margin: 0; padding: 0;}.clearfix{ zoom: 1;}.clearfix:after{ content: ''; display: block; height: 0; visibility: hidden; clear: both;}#rollImgBox{ /*這里讓盒子居中,應用到具體頁面刪除即可*/ margin: 20px auto; /*如果該輪播圖不是獨占一行,需要將其改為行內塊元素*/ display: block; position: relative; /*在這里設置裝載圖片的框框的寬高*/ width: 947px; height: 585px; /*在這里設置邊框的樣式用outline,這樣就不會影響到后面的js了 /*加邊框,用outline即可,不會影響實際的距離*/ outline: 5px solid blue; overflow: hidden;}#rollImgBox .photos .move img{ /*在這里設置圖片的寬高,與邊框的寬高相同*/ width: 947px; height: 585px;}#rollImgBox .photos{ position: relative; /*移動的是圖片的寬度,左移947px*/ left: -947px;}#rollImgBox:hover{ cursor: pointer;}#rollImgBox .photos div{ float: left;}#rollImgBox .points{ position: absolute; /*在這里修改圓點導航的位置*/ bottom: 30px; right: 170px;/*右下方*/ text-align: center;}#rollImgBox .points span{ display: inline-block; /*在這里可以更改圓點的大小*/ text-align: center; line-height: 66px; font-size: 24px; font-family: 微軟雅黑; width: 66px; height: 66px; background: rgba(112,117,112,.6); border-radius: 50%; margin-left: 15px;}#rollImgBox .points .pointsNow{ background: rgba(62,255,49,.6);}/*左右按鈕*/#rollImgBox .leftPoint{ width: 60px; height: 60px; background: rgba(0,0,0,.5); text-align: center; line-height: 60px; position: absolute; font-size: 30px; color: white; top: 290px; left: 0;}#rollImgBox .rightPoint{ width: 60px; height: 60px; background: rgba(0,0,0,.5); text-align: center; line-height: 60px; position: absolute; font-size: 30px; color: white; top: 290px; right: 0;}#rollImgBox .leftPoint:hover{ background: rgba(255,0,0,.5);}#rollImgBox .rightPoint:hover{ background: rgba(255,0,0,.5);}

script:

window.onload = function(){ let rollImgBox = document.querySelector('#rollImgBox'); let photos = document.querySelector('#rollImgBox .photos'); let allimg = document.querySelectorAll('#rollImgBox .move img'); let index = 2; //動態設計移動圖片的框框寬高 //(rollImgBox.offsetWidth)是要剪去邊框的寬度 photos.style.width = (allimg.length)*(rollImgBox.offsetWidth) + 'px'; photos.style.height = rollImgBox.offsetHeight + 'px'; //動態創建小圓點 let point = new Array(); let points = document.querySelector('#rollImgBox .points'); for (let i=0;i<(allimg.length-2);i++){ point[i] = document.createElement('span'); point[i].innerHTML = (i+1); points.appendChild(point[i]); } point[0].className = 'pointsNow'; let rollImgIterval = setInterval(function () { //圖片的輪播 if (index === allimg.length){ photos.style.left = 0; index = 1; photos.style.transition = '0s'; point[0].className = 'pointsNow'; } else { photos.style.transition = '1.5s'; } photos.style.left = -(rollImgBox.offsetWidth)*index + 'px'; index++; //小圓點的變換 for (let j=0;j<(allimg.length-2);j++){ if (j === index-2){ point[j].className = 'pointsNow'; } else { point[j].className = ''; } } //這里是最后一張圖片(與展現的第一張一樣的圖)設置小圓點樣式 if (index === allimg.length){ point[0].className = 'pointsNow'; } },2000); //當用戶把鼠標放到rollImgBox盒子中,需要查看圖片,自動輪播停止 rollImgBox.onmouseover = function () { clearInterval(rollImgIterval); }; rollImgBox.onmouseout = function () { rollImgIterval = setInterval(function () { //圖片的輪播 if (index === allimg.length){ photos.style.left = 0; index = 1; photos.style.transition = '0s'; point[0].className = 'pointsNow'; } else { photos.style.transition = '1.5s'; } photos.style.left = -(rollImgBox.offsetWidth)*index + 'px'; index++; //小圓點的變換 for (let j=0;j<(allimg.length-2);j++){ if (j === index-2){ point[j].className = 'pointsNow'; } else { point[j].className = ''; } } //這里是最后一張圖片(與展現的第一張一樣的圖)設置小圓點樣式 if (index === allimg.length){ point[0].className = 'pointsNow'; } },2000); }; //點擊小圓點,跳轉到對應的圖片位置 for (let k=0;k<(allimg.length-2);k++){ point[k].onmousedown = function () { photos.style.left = -(rollImgBox.offsetWidth)*(k+1) + 'px'; //小圓點的變換 for (let j=0;j<(allimg.length-2);j++){ if (j === k){ point[j].className = 'pointsNow'; } else { point[j].className = ''; } } //點擊小圓點之后更改index的值 index = k+2; } } //點擊左右方向鍵,對圖片進行滑動 let leftPoint = document.querySelector(’#rollImgBox .leftPoint’); let rightPoint = document.querySelector(’#rollImgBox .rightPoint’); leftPoint.onclick = function () { photos.style.transition = '1s'; //向左滑動一張圖片,并修改index的值(index--) let dis = index-2; //當dis為1時,圓點到達第一個位置,如果再往左移動一個,圓點應該到達最后一個位置 if (dis < 1){ dis = allimg.length-2; photos.style.left = 0; point[dis-1].className = 'pointsNow'; point[0].className = ''; index = allimg.length; } else { photos.style.left = -(rollImgBox.offsetWidth)*dis + 'px'; point[dis-1].className = 'pointsNow'; point[dis].className = ''; } //從第一張順滑切換到最后一張 setTimeout(function () { if (photos.style.left === ’0px’){ photos.style.left = -(rollImgBox.offsetWidth)*(allimg.length-2) + 'px'; photos.style.transition = ’0s’; index = allimg.length-1; } },1000); index--; }; rightPoint.onclick = function () { photos.style.transition = '1s'; //向右滑動一張圖片,并修改index的值(index++) let dis = index-1; //當dis為5時,圓點到達最后一個位置,如果再往右移動一個,圓點應該到達第一個位置 if (dis >= (allimg.length-2)){ photos.style.left = -(rollImgBox.offsetWidth)*(allimg.length-1) + 'px'; point[0].className = 'pointsNow'; point[allimg.length-3].className = ''; index = 1; } else { photos.style.left = -(rollImgBox.offsetWidth)*index + 'px'; point[dis].className = 'pointsNow'; point[dis-1].className = ''; } //從最后一張順滑切換到第一張 setTimeout(function () { if (photos.style.left === ((-(rollImgBox.offsetWidth)*(allimg.length-1))+’px’)){ photos.style.left = -(rollImgBox.offsetWidth) + 'px'; photos.style.transition = ’0s’; index = 2; } },1000); index++; };};

更多關于輪播圖效果的專題,請點擊下方鏈接查看學習

javascript圖片輪播效果匯總

jquery圖片輪播效果匯總

Bootstrap輪播特效匯總

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網,大家繼續關注更多精彩焦點輪播圖。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 移动机器人产业联盟官网 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 脉冲除尘器,除尘器厂家-淄博机械| 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 玻璃钢型材_拉挤模具_玻璃钢拉挤设备——滑县康百思 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 海尔生物医疗四川代理商,海尔低温冰箱四川销售-成都壹科医疗器械有限公司 | 禹城彩钢厂_钢结构板房_彩钢复合板-禹城泰瑞彩钢复合板加工厂 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 热工多功能信号校验仪-热电阻热电偶校验仿真仪-金湖虹润仪表 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 旋片真空泵_真空泵_水环真空泵_真空机组-深圳恒才机电设备有限公司 | 储能预警-储能消防系统-电池舱自动灭火装置-四川千页科技股份有限公司官网 | BOE画框屏-触摸一体机-触控查询一体机-触摸屏一体机价格-厂家直销-触发电子 | 济南货架定做_仓储货架生产厂_重型货架厂_仓库货架批发_济南启力仓储设备有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 物流公司电话|附近物流公司电话上门取货 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 微信聊天记录恢复_手机短信删除怎么恢复_通讯录恢复软件下载-快易数据恢复 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 北京开源多邦科技发展有限公司官网 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 洗瓶机厂家-酒瓶玻璃瓶冲瓶机-瓶子烘干机-封口旋盖压盖打塞机_青州惠联灌装机械 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 |