js實(shí)現(xiàn)多圖左右切換功能
本文實(shí)例為大家分享了js多圖左右切換功能,供大家參考,具體內(nèi)容如下
效果圖:
<html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" /> <!--頁(yè)面初始化CSS和頁(yè)面公用頭部的css--> <style type="text/css"> @charset "utf-8"; html, body { background-color: #f6f5f5; } .vg-body { width: 1390px; margin: 0 auto; } /*任務(wù)成長(zhǎng)值*/ .vg_title { font-size: 24px; line-height: 24px; padding: 20px 0; color: #464646; } .vg_task { background-color: #fff; position: relative; } .vg_task .arrowbtn-left, .vg_task .arrowbtn-right { position: absolute; top: 70px; width: 16px; height: 20px; cursor: pointer; } .vg_task .arrowbtn-left { left: 40px; border: 1px solid red; background: url(../images/arrow-left.png) no-repeat; ; } .vg_task .arrowbtn-right { right: 40px;border: 1px solid red; background: url(../images/arrow-right.png) no-repeat; ; } .vg_tasklist { width: 1200px; overflow: hidden; margin: 0 auto; } .vg_tasklist ul { width: 999%; } .vg_tasklist li { width: 258px; height: 130px; float: left; border: 1px solid #c8c8c8; margin: 15px 53px 15px 0; position: relative; } .vg_tasklist li .task_hover { position: absolute; left: -1px; top: -1px; width: 212px; padding: 20px 25px 20px 23px; height: 90px; border-bottom: 2px solid #e65a5a; overflow: hidden; background-color: #f0f0f0; display: none; } .vg_tasklist li:hover .task_hover { display: block; } .task_hover .task_desc { font-size: 16px; line-height: 20px; color: #646464; } .task_hover .task_limittimes { font-size: 14px; color: #787878; float: left; padding-top: 12px; } .vg_tasklist li img { float: left; margin: 22px 8px 20px 20px; } .vg_tasklist li .rightinfo { width: 136px; float: left; text-align: center; } .rightinfo h3 { font-size: 16px; color: #646464; padding-top: 15px; } .rightinfo p { font-size: 14px; line-height: 26px; color: #787878; } .rightinfo a, .task_hover a { display: block; text-align: center; width: 96px; height: 30px; line-height: 30px; border: 2px solid #e65a5a; border-radius: 5px; font-size: 16px; font-weight: 700; color: #e65a5a; } .task_hover a.done, .task_hover a.done:hover { background-color: #b4b4b4; color: #fff; border-color: #b4b4b4; cursor: default; } .rightinfo a { margin: 12px auto 0; } .task_hover a { float: right; margin-top: 18px; margin-right: -4px; } .task_hover a:hover { text-decoration: none; background-color: #e65a5a; color: #fff; } /*grid-1230*/ .grid-1230 .vg-body { width: 1210px; } .grid-1230 .vg_tasklist { width: 1090px; } .grid-1230 .vg_tasklist li { margin-right: 16px; } .grid-1230 .vg_task .arrowbtn-left { left: 33px; } .grid-1230 .vg_task .arrowbtn-right { right: 33px; } .grid-1230 .vg_growth_table { padding: 24px 30px; } .grid-1010 .vg-body { width: 990px; } .grid-1010 .vg_tasklist { width: 850px; } .grid-1010 .vg_tasklist li { margin-right: 35px; } .grid-1010 .vg_task .arrowbtn-left { left: 30px; } .grid-1010 .vg_task .arrowbtn-right { right: 30px; } .grid-1010 .vg_growth_table { padding: 24px; } </style> <!--新增樣式的css,名稱可根據(jù)具體需求修改--> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script> window.onresize = function() { var winWidth = document.body.clientWidth; if(winWidth <= 1230) { body.className = "grid-1010"; } else if(winWidth <= 1410) { body.className = "grid-1230"; } else if(winWidth > 1410) { body.className = "grid-1410"; } else { alert("do not know!"); } } </script> </head> <body id="body"> <script> //初始化狀態(tài)顯示樣式判斷,放在body后面 var winWidth = document.body.clientWidth; if(winWidth <= 1230) { body.className = "grid-1010"; } else if(winWidth <= 1410) { body.className = "grid-1230"; } else if(winWidth > 1410) { body.className = "grid-1410"; } else { alert("do not know!"); } </script> <div class="vg-body"> <!--任務(wù)成長(zhǎng)值 開(kāi)始--> <div class="vg_title"> <p>任務(wù)成長(zhǎng)值</p> </div> <div class="vg_task"> <div class="arrowbtn-left"></div> <div class="arrowbtn-right"></div> <div class="vg_tasklist"> <ul class="cf" id="switchPic"> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>開(kāi)通年費(fèi)會(huì)員</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>200</span>點(diǎn)</p> <a href="javascript:;">已完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;" class="done">已完成</a> </div> </li> <li> <img src="images/task_lianxubaoyue.png"> <div class="rightinfo"> <h3>開(kāi)通連續(xù)包月</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>升級(jí)成為SVIP</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>關(guān)注微信公眾號(hào)</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>任務(wù)555555555</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>任務(wù)666666666</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> <li> <img src="images/task_year.png"> <div class="rightinfo"> <h3>任務(wù)7777777</h3> <p>獎(jiǎng)勵(lì)成長(zhǎng)值<span>10</span>點(diǎn)</p> <a href="javascript:;">去完成></a> </div> <div class="task_hover"> <p class="task_desc">一次性開(kāi)通年費(fèi)會(huì)員(12個(gè)月及以上)</p> <p class="task_limittimes">月限<span>1</span>次</p> <a href="javascript:;">去完成></a> </div> </li> </ul> </div> </div> <!--任務(wù)成長(zhǎng)值 結(jié)束--> </div> </body> <script> //task growth var switchPic = (function() { /* now:當(dāng)前第幾個(gè)li linum:總共幾個(gè)li shownum:要展示幾個(gè)li w_li:li的寬度 marginR_li:li的右邊距 */ var now = 1; var linum, shownum, offset, w_li, marginR_li, pre, next, wrap; function init(o) { pre = o.preBtn; next = o.nextBtn; wrap = o.wrap; bindBtn(); } function btnShow() { getInfo(); if(linum <= shownum) { //如果li總個(gè)數(shù)小于要展示的個(gè)數(shù),pre和next都不顯示 pre.hide(); next.hide(); } else if(now == 1) { //初始化,只顯示next pre.hide(); next.show(); } else if(now == linum - shownum + 1) { //到最后一組,只顯示pre pre.show(); next.hide(); } else { //中間pre,next都顯示。 pre.show(); next.show(); } } function getInfo() { linum = $("#switchPic").find("li").size(); if($("#body").hasClass("grid-1010")) { shownum = 3; w_li = wrap.find("li").outerWidth(); //算上了border的寬度 marginR_li = parseInt(wrap.find("li").css("marginRight")); offset = w_li + marginR_li; } else if($("#body").hasClass("grid-1230")) { shownum = 4; w_li = wrap.find("li").outerWidth(); //算上了border的寬度 marginR_li = parseInt(wrap.find("li").css("marginRight")); offset = w_li + marginR_li; } else if($("#body").hasClass("grid-1410")) { shownum = 4; w_li = wrap.find("li").outerWidth(); //算上了border的寬度 marginR_li = parseInt(wrap.find("li").css("marginRight")); offset = w_li + marginR_li; } } function bindBtn() { btnShow(); next.on("click", function() { now++; btnShow(); wrap.stop(true).animate({ "margin-left": -(now - 1) * offset }); }); pre.on("click", function() { now--; btnShow(); wrap.stop(true).animate({ "margin-left": -(now - 1) * offset }); }); $(window).resize(function() { now = 1; btnShow(); wrap.animate({ "margin-left": 0 }); }); } return { init: init } })(); switchPic.init({ preBtn: $(".arrowbtn-left"), nextBtn: $(".arrowbtn-right"), wrap: $("#switchPic") }); </script> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 最簡(jiǎn)單的js圖片切換效果實(shí)現(xiàn)代碼
- 一段非常簡(jiǎn)單的讓圖片自動(dòng)切換js代碼
- 用html+css+js實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的圖片切換特效
- 純js實(shí)現(xiàn)背景圖片切換效果代碼
- js圖片自動(dòng)切換效果處理代碼
- css圖片切換效果代碼[不用js]
- 簡(jiǎn)單的實(shí)現(xiàn)點(diǎn)擊箭頭圖片切換的js代碼
- 純js無(wú)flash仿搜狐女人頻道FLASH圖片切換效果代碼
- JS鼠標(biāo)滑過(guò)圖片時(shí)切換圖片實(shí)現(xiàn)思路
- javascript實(shí)現(xiàn)圖片切換的幻燈片效果源代碼
相關(guān)文章
原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球
這篇文章主要介紹了原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球的方法和代碼分享,推薦給大家,有需要的小伙伴可以參考下。2015-03-03elementui上傳圖片回顯功能實(shí)現(xiàn)
這篇文章主要介紹了elementui上傳圖片回顯,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07JavaScript-RegExp對(duì)象只能使用一次問(wèn)題解決方法
RegExp對(duì)象執(zhí)行了一次后就廢掉了,所以每次用RegExp都需要重新new一個(gè),下面有個(gè)示例,需要的朋友可以參考下2014-06-06javascript中使用new與不使用實(shí)例化對(duì)象的區(qū)別
這篇文章主要介紹了javascript中使用new與不使用實(shí)例化對(duì)象的區(qū)別的相關(guān)資料,需要的朋友可以參考下2015-06-06IE6-8中Date不支持toISOString的修復(fù)方法
這篇文章主要介紹了IE6-8中Date不支持toISOString的修復(fù)方法,需要的朋友可以參考下2014-05-05詳解全棧開(kāi)發(fā)Vercel數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)
這篇文章主要為大家介紹了全棧開(kāi)發(fā)Vercel數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)功能使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05uni-app 組件里面獲取元素寬高的實(shí)現(xiàn)
這篇文章主要介紹了uni-app 組件里面獲取元素寬高的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Javascript Tab 導(dǎo)航插件 (23個(gè))
實(shí)現(xiàn)tab頁(yè)很多方法,有一些是用純CSS實(shí)現(xiàn),其他大多數(shù)是基于jquery、mootools或者其他js框架實(shí)現(xiàn),既然有這么多可以拿來(lái)即用的插件,又何苦重復(fù)造輪子。2009-06-06