欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于javascript實(shí)現(xiàn)圖片切換效果

 更新時(shí)間:2016年04月17日 08:45:33   作者:輝子t1  
這篇文章主要介紹了基于javascript實(shí)現(xiàn)圖片切換效果的相關(guā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來(lái)做最外層的容器,設(shè)置overflow為hidden,

然后內(nèi)層img_box設(shè)置寬度為四倍box的寬度,高度相同,也就是說(shuō)img_box里面盛放四張img,但是可見(jiàn)的只有一張,下面的兩個(gè)div,left和right是充當(dāng)按鈕實(shí)現(xiàn)點(diǎn)擊切換圖片,切換圖片也就是改變img_box的left屬性,所以img_box應(yīng)該設(shè)置position為absolute,為了方便起見(jiàn),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í)候平滑過(guò)渡,所以添加了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來(lái)記錄當(dāng)前顯示的第幾張圖片,當(dāng)點(diǎn)擊切換按鈕的時(shí)候根據(jù)count來(lái)計(jì)算應(yīng)該顯示第幾張照片,然后計(jì)算并設(shè)置img_box的left屬性即可。

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

相關(guān)文章

最新評(píng)論