基于javascript實(shí)現(xiàn)圖片切換效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)圖片切換效果,供大家參考,具體內(nèi)容如下
用js實(shí)現(xiàn)點(diǎn)擊按鈕,圖片切換的效果:
<div class="box" id="box">
<div class="img_box" id="img_box">
<img src="../raw/b1.jpg" class="image" >
<img src="../raw/b2.jpg" class="image" >
<img src="../raw/b3.jpg" class="image" >
<img src="../raw/b4.jpg" class="image" >
</div>
<div id="left" class="switch"></div>
<div id="right" class="switch"></div>
</div>
結(jié)構(gòu):用一個(gè)固定寬高的div來做最外層的容器,設(shè)置overflow為hidden,
然后內(nèi)層img_box設(shè)置寬度為四倍box的寬度,高度相同,也就是說img_box里面盛放四張img,但是可見的只有一張,下面的兩個(gè)div,left和right是充當(dāng)按鈕實(shí)現(xiàn)點(diǎn)擊切換圖片,切換圖片也就是改變img_box的left屬性,所以img_box應(yīng)該設(shè)置position為absolute,為了方便起見,box的position設(shè)置為relation,這樣img_box就是相對(duì)box進(jìn)行定位了。四張圖片設(shè)置float為left,寬度和高度與box相同.
CSS代碼:
*{
margin: 0;
padding: 0;
}
.box{
width: 800px;
height: 400px;
margin: 20px auto;
position: relative;
overflow: hidden;
}
.img_box{
height: 400px;
width: 3200px;
position: absolute;
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
}
img{
width: 800px;
height: 400px;
float: left;
}
.switch{
width: 200px;
height: 100%;
position: absolute;
}
#left{
left: 0px;
top: 0px;
background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
}
#right{
right:0px;
top: 0px;
background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(84, 84, 84,0.5));
}
#left:hover{
background: -moz-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(0, 0, 0,0.5), rgba(20%,20%,20%,0));
}
#right:hover{
background: -moz-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
background: -webkit-linear-gradient(left, rgba(20%,20%,20%,0), rgba(0, 0, 0,0.5));
}
left和right用到了背景顏色和透明度漸變的屬性,只添加了火狐瀏覽器和webkit瀏覽器,另外現(xiàn)在有的IE瀏覽器是IE和webkit雙內(nèi)核如360安全瀏覽器
background: -moz-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
background: -webkit-linear-gradient(left, rgba(84, 84, 84, 0.50), rgba(20%,20%,20%,0));
為了實(shí)現(xiàn)切換的時(shí)候平滑過渡,所以添加了transition屬性:
-moz-transition: 0.5s;
-webkit-transition: 0.5s;
js代碼:
var box;
var count=1;
window.onload=function(){
box=document.getElementById("img_box");
var left=document.getElementById("left");
var right=document.getElementById("right");
left.addEventListener("click",_left);
right.addEventListener("click",_right);
document.body.addEventListener("mouseover",demo);
}
function _right(){
var dis=0;
if(count<4){
dis=count*800;
}else{
dis=0;
count=0;
}
box.style.left="-"+dis+"px";
count+=1;
}
function _left(event){
var dis=0;
if(count>1){
dis=(2-count)*800;
}else{
dis=-3*800;
count=5;
}
box.style.left=dis+"px";
count-=1;
}
用全局變量count來記錄當(dāng)前顯示的第幾張圖片,當(dāng)點(diǎn)擊切換按鈕的時(shí)候根據(jù)count來計(jì)算應(yīng)該顯示第幾張照片,然后計(jì)算并設(shè)置img_box的left屬性即可。
以上就是為大家介紹的js實(shí)現(xiàn)圖片切換效果的代碼,希望能夠幫助大家實(shí)現(xiàn)圖片切換效果。
- js組件SlotMachine實(shí)現(xiàn)圖片切換效果制作抽獎(jiǎng)系統(tǒng)
- javascript圖片切換綜合實(shí)例(循環(huán)切換、順序切換)
- 輕松實(shí)現(xiàn)JavaScript圖片切換
- js實(shí)現(xiàn)索引圖片切換效果
- js鼠標(biāo)點(diǎn)擊圖片切換效果實(shí)現(xiàn)代碼
- js帶前后翻頁的圖片切換效果代碼分享
- js鼠標(biāo)點(diǎn)擊圖片切換效果代碼分享
- 最簡(jiǎn)單的js圖片切換效果實(shí)現(xiàn)代碼
- 用html+css+js實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的圖片切換特效
- 靈活使用數(shù)組制作圖片切換js實(shí)現(xiàn)
相關(guān)文章
javascript仿京東導(dǎo)航左側(cè)分類導(dǎo)航下拉菜單效果
這篇文章主要為大家詳細(xì)介紹了javascript仿京東導(dǎo)航左側(cè)分類導(dǎo)航下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03
JavaScript關(guān)閉當(dāng)前頁面(窗口)不帶任何提示
這篇文章主要介紹了JavaScript關(guān)閉當(dāng)前頁面(窗口)不帶任何提示的具體實(shí)現(xiàn),需要的朋友可以參考下2014-03-03
js實(shí)現(xiàn)盒子滾動(dòng)動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)盒子滾動(dòng)動(dòng)畫效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
bootstrap使用validate實(shí)現(xiàn)簡(jiǎn)單校驗(yàn)功能
這篇文章主要為大家詳細(xì)介紹了bootstrap使用validate實(shí)現(xiàn)簡(jiǎn)單校驗(yàn)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JS/HTML5游戲常用算法之碰撞檢測(cè) 包圍盒檢測(cè)算法詳解【圓形情況】
這篇文章主要介紹了JS/HTML5游戲常用算法之碰撞檢測(cè) 包圍盒檢測(cè)算法,結(jié)合實(shí)例形式詳細(xì)分析了圓形包盒情況下的碰撞檢測(cè)算法相關(guān)原理與實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-12-12
JavaScript語法高亮插件highlight.js用法詳解【附highlight.js本站下載】
這篇文章主要介紹了JavaScript語法高亮庫highlight.js用法,詳細(xì)分析了highlight.js的下載、調(diào)用及具體使用技巧,需要的朋友可以參考下2016-11-11

