日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

JavaScript 實現(xiàn)輪播圖特效的示例

瀏覽:163日期:2023-10-08 17:36:00

效果展示

1.頁面截圖

JavaScript 實現(xiàn)輪播圖特效的示例

2.相關效果

JavaScript 實現(xiàn)輪播圖特效的示例

html 頁面

從微信讀書上找了幾張書籍封面來做輪播的圖片。

index.html

<body> <div id='container'> <div class='big_pic_div'> <div class='prev'></div> <div class='next'></div> <a href='javascript:;' rel='external nofollow' rel='external nofollow' class='mark_left'></a> <a href='javascript:;' rel='external nofollow' rel='external nofollow' class='mark_right'></a> <div style='z-index: 1;'><img src='http://m.b3g6.com/bcjs/img/1.jpg' alt=''></div> <div class='big_pic'><img src='http://m.b3g6.com/bcjs/img/2.jpg' alt=''></div> <div class='big_pic'><img src='http://m.b3g6.com/bcjs/img/3.jpg' alt=''></div> <div class='big_pic'><img src='http://m.b3g6.com/bcjs/img/4.jpg' alt=''></div> <div class='big_pic'><img src='http://m.b3g6.com/bcjs/img/5.jpg' alt=''></div> <div class='big_pic'><img src='http://m.b3g6.com/bcjs/img/6.jpg' alt=''></div> </div> <div class='small_pic_div'> <div style='filter: opacity(100); opacity: 1;'><img src='http://m.b3g6.com/bcjs/img/1.jpg' alt=''></div> <div class='small_pic'><img src='http://m.b3g6.com/bcjs/img/2.jpg' alt=''></div> <div class='small_pic'><img src='http://m.b3g6.com/bcjs/img/3.jpg' alt=''></div> <div class='small_pic'><img src='http://m.b3g6.com/bcjs/img/4.jpg' alt=''></div> <div class='small_pic'><img src='http://m.b3g6.com/bcjs/img/5.jpg' alt=''></div> <div class='small_pic'><img src='http://m.b3g6.com/bcjs/img/6.jpg' alt=''></div> </div> </div></body>

css 樣式

grid 布局的 gap 不兼容 IE,惹不起。

style.css

body { margin: 0; padding: 0; background: skyblue;}#container { position: relative; overflow: hidden; width: 350px; height: 390px; margin: 50px auto 0; padding: 0 15px; background: goldenrod; box-shadow: 2px 1px 5px 1px #666;}.mark_left { position: absolute; left: 0; z-index: 3000; width: 65px; height: 360px;}.mark_right { position: absolute; right: 0; z-index: 3000; width: 65px; height: 360px;}.prev { position: absolute; top: 150px; left: 5px; z-index: 3001; width: 60px; height: 60px; background: url(img/btn.gif) olivedrab; /* transform: translateY(50%); */ /* alpha 兼容IE8及以下的IE瀏覽器 */ filter: alpha(opacity=0); opacity: 0;}.next { position: absolute; top: 120px; right: 5px; z-index: 3001; width: 60px; height: 60px; background: url(img/btn.gif) olivedrab; background-position-y: 60px; transform: translateY(50%); filter: alpha(opacity=0); opacity: 0;}.big_pic_div { position: relative; width: 250px; height: 360px; padding: 15px 0;}.big_pic { position: absolute; /* height 從 0 到 360px 下滑 */ overflow: hidden; height: 360px; box-shadow: 1px 1px 2px #777;}.small_pic_div { display: grid; grid-template: repeat(6, 110px) / 80px; gap: 15px; position: absolute; top: 0; left: 273px; padding: 15px 0;}.small_pic { height: 110px; filter: alpha(opacity = 60); opacity: 0.6;}.small_pic img { width: 80px; height: 100%;}

JavaScript 實現(xiàn)

多物體運動框架move.js

// 獲取樣式function getStyle(obj, name) { if (obj.currentStyle) { // IE... return obj.currentStyle[name]; } else { // Chrome... return getComputedStyle(obj, false)[name]; }}function startMove(obj, attr, target) { clearInterval(obj.timer); obj.timer = setInterval(function () { var cur = 0; // 透明度 if (attr == ’opacity’) { cur = Math.round(parseFloat(getStyle(obj, ’opacity’)) * 100); } else { cur = parseInt(getStyle(obj, attr)); } // 緩沖運動,速度和距離成正比 var speed = 0; speed = (target - cur) / 6; // 1px 是最小的,1.9px 會被當做 1px;得把速度取整,不然并未真正到達目標值 target speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (cur == target) { clearInterval(obj.timer); } else { // 透明度沒有單位,單獨考慮 if (attr == ’opacity’) { obj.style.filter = ’alpha(opacity = ’ + (cur + speed) + ’)’; obj.style.opacity = (cur + speed) / 100; } else { obj.style[attr] = cur + speed + ’px’; } } }, 30);}

輪播圖功能實現(xiàn)

window.onload = function () { var markLeft = document.getElementsByClassName(’mark_left’)[0]; var markRight = document.getElementsByClassName(’mark_right’)[0]; var btnPrev = document.getElementsByClassName(’prev’)[0]; var btnNext = document.getElementsByClassName(’next’)[0]; var smallPicDiv = document.getElementsByClassName(’small_pic_div’)[0]; var smallPic = document.getElementsByClassName(’small_pic’); var bigPic = document.getElementsByClassName(’big_pic’); var nowZIndex = 2; var now = 0; var container = document.getElementById(’container’); // 左右按鈕透明度設置 btnPrev.onmouseover = markLeft.onmouseover = function () { startMove(btnPrev, ’opacity’, 100); }; btnPrev.onmouseout = markLeft.onmouseout = function () { startMove(btnPrev, ’opacity’, 0); }; btnNext.onmouseover = markRight.onmouseover = function () { startMove(btnNext, ’opacity’, 100); }; btnNext.onmouseout = markRight.onmouseout = function () { startMove(btnNext, ’opacity’, 0); }; // 點擊小圖時,大圖自動切換 for (var i = 0; i < smallPic.length; i++) { smallPic[i].index = i; smallPic[i].onclick = function () { if (now == this.index) return; // 使用 now 來表示當前選擇的小圖,當前選中的小圖再次點擊時不會讓大圖下滑 now = this.index; bigPic[this.index].style.zIndex = nowZIndex++; bigPic[this.index].style.height = 0; startMove(bigPic[this.index], ’height’, 360); // 點擊后其他小圖變透明,當前選中的為不透明 for (var i = 0; i < smallPic.length; i++) { startMove(smallPic[i], ’opacity’, 60); } startMove(smallPic[this.index], ’opacity’, 100); }; // 鼠標移動到小圖上時,淡入淡出 smallPic[i].onmouseover = function () { startMove(this, ’opacity’, 100); }; smallPic[i].onmouseout = function () { if (now != this.index) { startMove(this, ’opacity’, 60); } }; } // tab 函數(shù):當前選中圖片不透明;圖片下滑;小圖區(qū)域的滾動 function tab() { bigPic[now].style.zIndex = nowZIndex++; for (var i = 0; i < smallPic.length; i++) { startMove(smallPic[i], ’opacity’, 60); } startMove(smallPic[now], ’opacity’, 100); bigPic[now].style.height = 0; startMove(bigPic[now], ’height’, 360); if (now == 0) { startMove(smallPicDiv, ’top’, 0); } else if (now == smallPic.length - 1) { startMove(smallPicDiv, ’top’, -(now - 2) * (smallPic[0].offsetHeight + 15)); } else { startMove(smallPicDiv, ’top’, -(now - 1) * (smallPic[0].offsetHeight + 15)); } } // 左右按鈕點擊 btnPrev.onclick = function () { now--; if (now == smallPic.length) { now = smallPic.length - 1; } else if (now < 0) { now = smallPic.length - 1; // return; } tab(); }; btnNext.onclick = function () { now++; if (now == smallPic.length) { now = 0; } tab(); }; var timer = setInterval(btnNext.onclick, 3000); container.onmouseover = function () { clearInterval(timer); }; container.onmouseout = function () { timer = setInterval(btnNext.onclick, 3000); };};

以上就是JavaScript 實現(xiàn)輪播圖特效的詳細內(nèi)容,更多關于JavaScript 輪播圖的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本午夜精品久久久久| 国产精品一页| 91tv亚洲精品香蕉国产一区| av日韩中文| 久久精品国产大片免费观看| 久久高清精品| 丝袜美腿一区二区三区| 日韩精品久久久久久| 国产经典一区| 色网在线免费观看| 国产亚洲综合精品| 欧美伊人影院| 日韩在线观看一区二区三区| 免费一级欧美片在线观看网站 | 久久精品福利| 91精品啪在线观看国产18| 中文欧美日韩| 日本强好片久久久久久aaa| 久久久精品国产**网站| 91精品蜜臀一区二区三区在线| 久久国产精品99国产| 国产亚洲字幕| 亚洲不卡av不卡一区二区| 蜜桃一区二区三区在线| 久久狠狠亚洲综合| 樱桃视频成人在线观看| 午夜一区在线| 精品视频在线你懂得| 99在线精品视频在线观看| 国产日韩欧美一区二区三区| 久久天堂av| 欧美一级二级三级视频| 日韩大片在线| 日本v片在线高清不卡在线观看| 国产激情精品一区二区三区| 亚洲国产综合在线看不卡| 青青草国产成人99久久| 国产精品久久久久av电视剧| 国产一区二区三区亚洲| 国产视频亚洲| 国产精品午夜av| 国产高清久久| 精品国产亚洲一区二区在线观看| 自拍日韩欧美| 精品网站aaa| 亚洲精品日韩久久| 欧美日韩精品一区二区视频| 日韩av二区在线播放| 欧美亚洲激情| 国产一区二区色噜噜| 三级欧美韩日大片在线看| 精品99在线| 色综合视频一区二区三区日韩 | 中文字幕av一区二区三区人| 欧美羞羞视频| 国产欧美三级| 美女精品在线观看| 高清在线一区| 日韩av网站免费在线| 五月天久久网站| 久久精品福利| 中文精品在线| 国产精品三p一区二区| 天海翼精品一区二区三区| 成人欧美一区二区三区的电影| 久久精品不卡| 天堂va蜜桃一区二区三区| 亚洲啊v在线| 精品一区二区三区四区五区| 亚州av日韩av| 国产亚洲欧洲| 91成人精品| 91精品一区国产高清在线gif | 日韩精品亚洲专区| 久久午夜视频| 欧美日韩少妇| 欧美成人综合| 影视先锋久久| 久久国产亚洲精品| 国内精品麻豆美女在线播放视频| 青草国产精品| 亚洲2区在线| 蜜桃av一区二区在线观看| 激情婷婷久久| 99久久99久久精品国产片果冰| 精品九九在线| 精品国产美女a久久9999| 国产精品videossex| 亚洲日韩中文字幕一区| 日韩精品一区第一页| 亚洲一区二区成人| 欧美精品黄色| 久久国产亚洲| 欧美~级网站不卡| 精品久久不卡| av免费不卡国产观看| 国产 日韩 欧美 综合 一区| 国产精品高颜值在线观看| 精品视频在线观看网站| 久久久久久网| 99热国内精品| 欧美日韩视频| 中文字幕中文字幕精品| 日本aⅴ亚洲精品中文乱码| 日本成人在线视频网站| 欧美片第1页综合| 久久福利在线| 亚洲欧洲美洲av| 欧美中文一区二区| 日韩久久电影| 合欧美一区二区三区| 三级欧美在线一区| 日韩av一区二区在线影视| 久久av超碰| 肉色欧美久久久久久久免费看| 免费视频国产一区| 热久久免费视频| 国产美女精品视频免费播放软件| 国精品产品一区| 激情久久婷婷| 蜜桃av一区二区三区电影| 国产日韩一区二区三区在线 | 国产99亚洲| 国产精品日本欧美一区二区三区| 日韩欧美激情| 中文字幕人成乱码在线观看| 日韩一区二区三区免费播放| 久久中文字幕av| 一区二区日韩免费看| 青青国产精品| 亚洲精品永久免费视频| 91成人精品在线| 另类欧美日韩国产在线| 伊人精品一区| 一区二区三区四区日韩| 日韩激情一二三区| 国产香蕉精品| 国产精品二区不卡| 欧美 日韩 国产精品免费观看| 亚洲午夜久久| 国产在线不卡一区二区三区| 亚洲一区国产| 精品欧美日韩精品| 亚洲精品中文字幕乱码| 国产精品白丝av嫩草影院| 日韩中文在线电影| 色狠狠一区二区三区| 国产精品色婷婷在线观看| 天堂а√在线最新版中文在线| 自拍日韩欧美| 免费精品一区| 亚洲播播91| 午夜视频一区二区在线观看| 欧美国产极品| 亚洲午夜在线| 欧美国产中文高清| 日韩视频在线一区二区三区 | 国产99久久久国产精品成人免费| 日本少妇精品亚洲第一区| 国产精品久久久久久久久久10秀 | 亚洲综合福利| 欧美一级网址| 欧美三区四区| 久久激情五月激情| 久久只有精品| 尤物精品在线| 成午夜精品一区二区三区软件| 91成人精品视频| 欧美国产日韩电影| 日韩中文字幕亚洲一区二区va在线| 国产精品久久观看| 日韩成人一级| 国产亚洲在线| 神马午夜久久| 色婷婷综合网| 国产精品一区二区精品视频观看| 国产精品久久久久av电视剧| 国产日韩亚洲欧美精品| 日韩影院免费视频| 欧美日韩国产一区精品一区| 日韩视频网站在线观看| 精品视频91| 欧美a一区二区| 91九色综合| 蜜桃91丨九色丨蝌蚪91桃色| 自由日本语亚洲人高潮| 久久三级福利| 亚洲精品一区三区三区在线观看| 国产一区二区三区探花| 麻豆成人综合网| 国产精品亚洲片在线播放| 婷婷成人在线| 美女久久久久| 亚洲国产一区二区在线观看| 日韩三区免费| 日韩欧美一区二区三区在线视频| 国产va免费精品观看精品视频| 国产精品jk白丝蜜臀av小说| 国产日韩精品视频一区二区三区| 日本三级亚洲精品|