JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果
更新時(shí)間:2017年01月18日 08:35:35 作者:秋天1014童話
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)旋轉(zhuǎn)木馬式圖片輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了js圖片輪播的具體代碼,供大家參考,具體內(nèi)容如下
主要html代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="css/css.css">
<script type="text/javascript" src="js/animate.js"></script>
</head>
<body>
<div class="w-wrap" id="js_wrap">
<div class="wrap-slide" id="wrap_slide">
<ul>
<li><a href="#"><img src="images/slidepic1.jpg" alt=""></a></li>
<li><a href="#"><img src="images/slidepic2.jpg" alt=""></a></li>
<li><a href="#"><img src="images/slidepic3.jpg" alt=""></a></li>
<li><a href="#"><img src="images/slidepic4.jpg" alt=""></a></li>
<li><a href="#"><img src="images/slidepic5.jpg" alt=""></a></li>
<!-- <li><a href="#"><img src="images/slidepic6.jpg" alt=""></a></li> -->
</ul>
<div class="wrap-slide-arrow" id="wrap_slide_arrow">
<a href="javascript:;" class="prev"></a>
<a href="javascript:;" class="next"></a>
</div>
</div>
</div>
<script>
function $(id){ return document.getElementById(id);}
var js_wrap = $("js_wrap");
var wrap_slide = $("wrap_slide");
var wrap_slide_arrow = $("wrap_slide_arrow");
var lis = wrap_slide.children[0].children;
var json = [
{
//1
width: 400,
top: 20,
left: 50,
opacity: 20,
z: 2
},
{
//2
width: 600,
top: 70,
left: 0,
opacity: 80,
z: 3
},
{
//3
width: 800,
top: 100,
left: 200,
opacity: 100,
z: 4
},
{
//4
width: 600,
top: 70,
left: 600,
opacity: 80,
z: 3
},
{
//5
width: 400,
top: 20,
left: 750,
opacity: 20,
z: 2
}/*,
{
//6
width: 300,
top: 10,
left: 400,
opacity: 10,
z: 1
}*/
]
change(); //將各個(gè)圖片按照json鋪開層次
var jieliu = true;
//兩個(gè)按鈕點(diǎn)擊事件
var as = wrap_slide_arrow.children;
for(var k in as){
as[k].onclick = function(){
if(this.className == "prev"){
/*alert("左側(cè)按鈕");*/
//所有圖片逆時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的第一個(gè)刪除并插到最后一個(gè)
if(jieliu == true){
change(false);
jieliu = false;
}
}else if(this.className == "next"){
/*alert("右側(cè)按鈕");*/
//所有圖片順時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的最后一個(gè)刪除并插到第一個(gè)
if(jieliu == true){
change(true);
jieliu = false;
}
}
}
}
function change(flag){
if(flag){
//所有圖片順時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的最后一個(gè)刪除并插到第一個(gè)
json.unshift(json.pop());
}else{
//所有圖片逆時(shí)針旋轉(zhuǎn),相當(dāng)于圖片不動(dòng),json的第一個(gè)刪除并插到最后一個(gè)
json.push(json.shift());
}
for(var k in json){
animate(lis[k],{
width: json[k].width,
top: json[k].top,
left: json[k].left,
opacity: json[k].opacity,
zIndex: json[k].z
},function(){ jieliu = true;}); //當(dāng)動(dòng)畫執(zhí)行完,執(zhí)行回調(diào)函數(shù),此時(shí)置節(jié)流為true
}
}
var timer = null;
timer = setInterval(autoPlay,2000);
function autoPlay(){
if(jieliu == true){
change(true);
jieliu = false;
}
}
js_wrap.onmouseover = function(){
clearInterval(timer);
animate(wrap_slide_arrow,{opacity:100});
}
js_wrap.onmouseout = function(){
clearInterval(timer);
timer = setInterval(autoPlay,2000);
animate(wrap_slide_arrow,{opacity:0});
}
/*js_wrap.onmouseover = function(){
animate(wrap_slide_arrow,{opacity:100});
}
js_wrap.onmouseout = function(){
animate(wrap_slide_arrow,{opacity:0});
}*/
</script>
</body>
</html>
主要css代碼:
/*初始化 reset*/
blockquote,body,button,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,hr,input,legend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}
body,button,input,select,textarea{font:12px/1.5 "Microsoft YaHei", "微軟雅黑", SimSun, "宋體", sans-serif;color: #666;}
ol,ul{list-style:none}
a{text-decoration:none}
fieldset,img{border:0;vertical-align:top;}
a,input,button,select,textarea{outline:none;}
a,button{cursor:pointer;}
.w-wrap{
width: 1200px;
margin: 100px auto;
}
.wrap-slide{
position: relative;
}
.wrap-slide li{
position: absolute;
left: 200px;
top: 0;
}
.wrap-slide li img{
width: 100%;
}
.wrap-slide-arrow{
opacity: 0;
position: relative;
}
.prev,.next{
width: 76px;
height: 112px;
position: absolute;
top: 50%;
margin-top: -56px;
background: url(../images/prev.png) no-repeat;
}
.next{
right: 0;
background: url(../images/next.png) no-repeat;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單了解TypeScript中如何繼承 Error 類
這篇文章主要介紹了簡(jiǎn)單了解TypeScript中如何繼承 Error 類,一個(gè)典型的網(wǎng)站服務(wù)器可能需要有 NetworkError, DatabaseError, UnauthorizedError 等。 我們希望這些類都擁有 Error 的特性:有錯(cuò)誤消息、有調(diào)用棧、有方便打印的 toString 等。,需要的朋友可以參考下2019-06-06
javascript 函數(shù)參數(shù)原來是可以有缺省值的
前幾天看 javaEye 時(shí)看到一個(gè)童鞋寫的 getElementsByClassName 函數(shù)。2010-07-07
JavaScript實(shí)現(xiàn)圖片偽異步上傳過程解析
這篇文章主要介紹了javascript實(shí)現(xiàn)圖片偽異步上傳過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn)
這篇文章主要介紹了Nautil 中使用雙向數(shù)據(jù)綁定的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
JavaScript獲取上傳進(jìn)度的幾種方式實(shí)現(xiàn)
進(jìn)度條的應(yīng)用是為了顯示的告訴用戶文件上傳了多少,本文主要介紹了JavaScript獲取上傳進(jìn)度的幾種方式,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

