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

您的位置:首頁技術(shù)文章
文章詳情頁

JS輪播圖的實現(xiàn)方法

瀏覽:138日期:2024-04-24 10:25:59

本文實例為大家分享了JS輪播圖的實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

需求:

自動輪播,鼠標(biāo)移入輪播停止、移出繼續(xù),小圓點點擊切圖,左右箭頭切圖

效果圖:

JS輪播圖的實現(xiàn)方法

思路

通過編寫過渡動畫實現(xiàn)輪播效果,圖片的出現(xiàn)動畫以及移出動畫。顯示區(qū)的圖片移出,切換的圖進(jìn)入分別調(diào)用動畫,程序關(guān)鍵點:哪張圖應(yīng)該進(jìn)入,哪張圖應(yīng)該移出。

輪播分為三部分:

自動輪播,左右箭頭翻圖,底部小圓點點擊翻圖。

編寫程序順序:

1. 小圓點點擊

為什么先做小圓點呢?做小圓點點擊功能時,我們能夠清晰的知道哪張圖片應(yīng)該切換過來,哪張圖片應(yīng)該移開。例如,顯示區(qū)是第一張圖時,點擊第二個原點,那么當(dāng)前的第一張圖應(yīng)該移開,第二圖應(yīng)該進(jìn)入。

2.左右箭頭切換

這部分功能,我們可以這種思路,當(dāng)點擊左箭頭時,相當(dāng)于我們按順序點擊1、2、3號小圓點,只是顯示區(qū)為3號圖時,我們需要將下一張設(shè)置為1號圖。所以加一個判斷條件即可,當(dāng)計數(shù)器為3時,重置為1;右邊箭頭相反即可 順序變?yōu)?、2、1,當(dāng)當(dāng)計數(shù)器為1時,重置為3。

3.自動輪播

這功能就相當(dāng)于在一定的時間間隔內(nèi),點擊右邊箭頭或者左邊箭頭。

HTML部分:

<div id='banner'> <div class='w'> <!-- 左右箭頭--> <span onclick='arrow_left()'></span> <span onclick='arrow_right()'></span> <!-- 輪播圖--> <ul> <li><img src='http://www.hdgsjgj.cn/bcjs/img/1.jpg' alt=''></li> <li style='left: 1000px'><img src='http://www.hdgsjgj.cn/bcjs/img/2.jpg' alt='' ></li> <li style='left: 1000px'><img src='http://www.hdgsjgj.cn/bcjs/img/3.jpg' alt='' ></li> </ul> <!-- /小圓點--> <ol id='circleContainer'> <li onclick='move(0)'></li> <li onclick='move(1)'></li> <li onclick='move(2)'></li> </ol> </div></div>

CSS部分:

<style> *{ margin: 0; padding: 0; list-style: none; } .w { width: 1000px; height: 600px; margin: 100px auto 0; position: relative; overflow: hidden; } ul { height: 600px; } @keyframes leftCome { from { left: -100%; } to { left: 0; } } @keyframes leftOut { from { left: 0; } to { left: 100%; } } @keyframes rightCome { from { left: 100%; } to { left: 0; } } @keyframes rightOut { from { left: 0; } to { left: -100%; } } ul li { position: absolute; width: 1000px; } ul li img { width: 100%; height: 600px; } .iconfont { color: white; position: absolute; font-size: 30px; top: calc(50% - 15px); background-color: rgba(216, 216, 216, 0.23); cursor: pointer; opacity: 0; transition: opacity .3s linear; z-index: 999; } .iconfont:hover { color: palegreen; } .icon-zuojiantou { left: 0; border-top-right-radius: 50%; border-bottom-right-radius: 50%; } .icon-youjiantou { right: 0; border-top-left-radius: 50%; border-bottom-left-radius: 50%; } #circleContainer { position: absolute; bottom: 10px; left: calc(50% - 30px); } #circleContainer li { display: inline-block; width: 20px; height: 20px; border-radius: 50%; background-color: white; margin-right: 5px; } #circleContainer .change { background-color: palegreen; box-shadow: 0 0 10px #7dd07d; }</style>

JS部分:

<script> let timer ; window.onload = function(){ timer = setInterval(function () { arrow_left(); },3000) }; let arrow = document.querySelectorAll('.iconfont'); let w = document.querySelector('.w'); let circle = document.querySelectorAll('ol li'); w.addEventListener('mouseenter',function () { clearInterval(timer); arrow[0].style.opacity = '1'; arrow[1].style.opacity = '1'; }); w.addEventListener('mouseleave',function () { arrow[0].style.opacity = '0'; arrow[1].style.opacity = '0'; timer = setInterval(function () { arrow_left(); },3000) }); circle[0].className = 'change'; let location_i = 0; let li = document.querySelectorAll('ul li'); // 移動函數(shù) function move(i,direcTion_) { if (direcTion_ === 'right') { if (location_i !== i) { li[i].style.animation = 'rightCome .5s ease forwards'; li[location_i].style.animation = 'rightOut .5s ease forwards'; location_i = i; num = i; } } else { if (location_i !== i) { li[i].style.animation = 'leftCome .5s ease forwards'; li[location_i].style.animation = 'leftOut .5s ease forwards'; location_i = i; num = i; } } for (let i = 0 ; i<circle.length ;i++){ circle[i].className = ''; } circle[location_i].className = 'change'; } // 右箭頭 let flag = true; let num = 0; function arrow_right() { flag = false ; num === 2 ? num = 0 : num = location_i + 1; move(num); } // 左箭頭 function arrow_left() { num === 0 ? num = 2 : num = location_i - 1; move(num,'right'); }</script>

精彩專題分享:jQuery圖片輪播 JavaScript圖片輪播 Bootstrap圖片輪播

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 不锈钢管件(不锈钢弯头,不锈钢三通,不锈钢大小头),不锈钢法兰「厂家」-浙江志通管阀 | 猎头招聘_深圳猎头公司_知名猎头公司| sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 消防设施操作员考试报名时间,报名入口,报考条件 | 上海噪音治理公司-专业隔音降噪公司-中广通环保 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 大巴租车平台承接包车,通勤班车,巴士租赁业务 - 鸿鸣巴士 | 免费网站网址收录网_海企优网站推荐平台 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 瑞典Blueair空气净化器租赁服务中心-专注新装修办公室除醛去异味服务! | 骨密度仪-骨密度测定仪-超声骨密度仪-骨龄测定仪-天津开发区圣鸿医疗器械有限公司 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 电抗器-能曼电气-电抗器专业制造商 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 常州律师事务所_常州律所_常州律师-江苏乐天律师事务所 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 雨燕360体育免费直播_雨燕360免费NBA直播_NBA篮球高清直播无插件-雨燕360体育直播 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 护栏打桩机-打桩机厂家-恒新重工| 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 |