日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Transition 实现轮播图

發布時間:2025/3/19 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Transition 实现轮播图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于輪播圖的實現算是前端的一個基礎,其實實現起來是很簡單,這里把實現的基本思路總結一下。
輪播圖的實現方案有很多種方式,可以用純js來實現,也可用css來實現,我們這里主要用到了css3的過渡(transition)以及轉換(transform),二者結合實現圖片的勻速移動。雖然實現方式有很多,但是基本的html結構卻是一樣的。

<body><div class="slide"><div id="content"><img src="./image1.jpg" class="image1" /><img src="./image2.jpg" /><img src="./image3.jpg" /></div><div id="barWrap"><div class="leftBar" id="leftBar"></div><div class="rightBar" id="rightBar"></div></div></div></body>

然后設置slide的寬度為圖片寬度并居中,將content元素寬度設置為所有圖片的總寬度,使圖片能夠排列在同一行,同時給slide設置overflow: hidden將超出的部分隱藏,這樣我們就只能看到一張圖片了,具體的css如下

<style>.slide {width: 300px;margin: 0 auto;overflow: hidden;position: relative; }#content {width: 1000px;transition: transform 1s; }img {width: 300px;height: 100px;}.leftBar {position: absolute;top: 35px;}.leftBar:before {content: '\23EA';display: block;font-size: 30px;}.rightBar:after {content: '\23E9';display: block;font-size: 30px;}.rightBar {position: absolute;top: 35px;right: 0px;}</style>

我們用js來控制輪播的開始以及上一張或者下一張操作

<script>var leftDistance = 0var totalDistance = 600var content = document.getElementById('content')var barWrap = document.getElementById('barWrap')var timer = nullbarWrap.addEventListener('click', function(e) {window.clearInterval(timer)if (e.target.id==='leftBar') {if (leftDistance === totalDistance) {leftDistance = -300}leftDistance += 300} else if (e.target.id === 'rightBar') {if (leftDistance === 0) {leftDistance = 900}leftDistance -= 300}content.style.transform = 'translate(-'+leftDistance+'px)' timer = setInterval(test, 3000)})var test = function() {if (leftDistance < totalDistance) {leftDistance+=300} else {leftDistance = 0}content.style.transform = 'translate(-'+leftDistance+'px)' }timer = setInterval(test, 3000)</script>

這里有一個小技巧,關于事件委托,將click事件綁定到barWrap元素上, 這樣可以省掉一個click事件,只需要在回調函數里面判斷具體的元素實現不同方向的滾動即可。
有必要說一下在移動端通過觸屏事件進行圖片切換時,與上面的方法其實大同小異,判斷滑屏的方向以及滑動距離,實現不同方向的切換。
關于移動端的觸屏以及手勢事件有必要強調一下,最初在開發移動端Web的時候使用w3c標準的語法結構和原生的js開發,但相對來說開發量比較大,而且每一步都要考慮各移動端瀏覽器的兼容實在讓人頭疼,而且實現效果也不一定很好。因此一個好的兼容性架構對于開發者來說可以節省很大一部分工作量。推薦使用hammer.js,它是一款開源的移動端腳本框架,它可以完美的實現在移端開發的大多數事件,如:點擊、滑動、拖動、多點觸控等事件。不需要依賴任何其他的框架,并且整個框架非常小,在使用時非常簡單,代碼如下:

<div id="test" class="test"> </div> <script type="text/javascript">var hammertime =new Hammer(document.getElementById("test"))hammertime.on("pan", function (e) {console.log(e)}) </script>

具體代碼:https://github.com/teapot-py/...

總結

以上是生活随笔為你收集整理的Transition 实现轮播图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产jzjzjz丝袜老师水多 | 老女人性视频 | 中国极品少妇xxxx | 欧美a级片在线观看 | 国产搞逼视频 | 色福利在线 | 人人澡超碰碰 | 欧美激情国产精品免费 | 韩国一区二区三区在线观看 | 亚洲国产成人精品一区二区三区 | 亚洲最新中文字幕 | 一区二区三区四区国产 | 成人爱爱视频 | 亚洲av无码一区二区三区观看 | 成年人在线免费观看网站 | 91精品一区二区三 | 久久黄色精品视频 | 男人久久久 | 中文字幕在线播放日韩 | 波多野结衣av在线免费观看 | 亚洲午夜精品久久 | 亚洲免费精品 | 中文字幕在线观看视频网站 | 波多野结衣一区二 | 秋霞毛片 | 日韩黄色网 | 亚欧洲精品视频在线观看 | 善良的女朋友在线观看 | 久久精品视频16 | 色综合精品| 日本黄色一区 | 五月天激情综合 | 成人小说亚洲一区二区三区 | 亚洲一区二区三区三州 | 在线欧美| 草青青视频 | 青青草av| 人人玩人人干 | 免费看黄网站在线观看 | 天天插美女| 天天想你免费观看完整版高清电影 | 天天摸天天操天天射 | 成人精品视频一区二区三区尤物 | 91成人短视频在线观看 | 久久久久久久 | 狠狠躁日日躁夜夜躁2022麻豆 | 亚洲最大在线观看 | 久草黄色| 色com| 中国美女黄色一级片 | 国产女合集 | 国产女人高潮的av毛片 | 午夜黄色在线观看 | 激情中文网 | 日韩人妻精品中文字幕 | 国产精品一区在线播放 | 欧美卡一卡二卡三 | 国内自拍第二页 | 亚洲综合日韩在线 | 97视频免费在线 | 国产精品久久777777毛茸茸 | jizz在亚洲| 日本午夜一区二区 | 人妻偷人精品一区二区三区 | 男生和女生操操 | 男女午夜爽爽爽 | 韩国禁欲系高级感电影 | 亚洲亚裔videos黑人hd | 高清日韩| 激情小说亚洲色图 | 欧美熟妇交换久久久久久分类 | 浪浪视频污 | 精品久久人妻av中文字幕 | 日日弄天天弄美女bbbb | 在线免费看黄av | 真人毛片97级无遮挡精品 | 日本黄色a视频 | 精品国产一区二区三区久久久蜜月 | 在线不卡欧美 | 99草视频| 制服丝袜成人动漫 | 国产成a人亚洲精v品无码 | 99精品国产一区二区 | 久久福利小视频 | 一区一区三区产品乱码 | 亚洲成av人片 | 欧美xx孕妇 | 日本三级日本三级日本三级极 | 日本福利视频导航 | 国产理论精品 | 午夜国产小视频 | 看毛片看毛片 | 在线一二三区 | 亚洲黄色自拍 | 懂色av一区二区三区在线播放 | 天天做夜夜爱 | 懂色av,蜜臀av粉嫩av | 91麻豆国产| 国产精品1234区 |