国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

基于javascript實現圖片切換效果

2019-11-20 10:15:16
字體:
來源:轉載
供稿:網友

本文實例為大家分享了js實現圖片切換效果,供大家參考,具體內容如下
用js實現點擊按鈕,圖片切換的效果:

<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>

結構:用一個固定寬高的div來做最外層的容器,設置overflow為hidden,

然后內層img_box設置寬度為四倍box的寬度,高度相同,也就是說img_box里面盛放四張img,但是可見的只有一張,下面的兩個div,left和right是充當按鈕實現點擊切換圖片,切換圖片也就是改變img_box的left屬性,所以img_box應該設置position為absolute,為了方便起見,box的position設置為relation,這樣img_box就是相對box進行定位了。四張圖片設置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瀏覽器,另外現在有的IE瀏覽器是IE和webkit雙內核如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));

為了實現切換的時候平滑過渡,所以添加了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來記錄當前顯示的第幾張圖片,當點擊切換按鈕的時候根據count來計算應該顯示第幾張照片,然后計算并設置img_box的left屬性即可。

以上就是為大家介紹的js實現圖片切換效果的代碼,希望能夠幫助大家實現圖片切換效果。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武川县| 武强县| 平陆县| 乐都县| 都兰县| 孟村| 新邵县| 克什克腾旗| 临桂县| 淳安县| 绵阳市| 秭归县| 万盛区| 久治县| 阳西县| 遂溪县| 襄垣县| 理塘县| 湛江市| 龙里县| 绍兴市| 大渡口区| 沾化县| 永年县| 中西区| 武宣县| 大方县| 武川县| 邯郸县| 格尔木市| 新乐市| 和龙市| 商城县| 青川县| 蒙城县| 东乌珠穆沁旗| 阿鲁科尔沁旗| 北京市| 高邮市| 镇康县| 沙湾县|