完美的js圖片輪換效果
更新時間:2017年02月05日 11:16:11 作者:秋天1014童話
這篇文章主要為大家詳細(xì)介紹了完美的js圖片輪換效果,包括左右移動和緩動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了js輪播圖焦點(diǎn)的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>輪播圖焦點(diǎn)</title>
<meta content="還是有地點(diǎn)小瑕疵,1左轉(zhuǎn)變4,4右轉(zhuǎn)變1的時候,圖片切換有空白,換下動畫模式應(yīng)該可以?">
<style>
*{
padding: 0;
margin: 0;
}
ul{
list-style: none;
}
.scroll{
width: 300px;
height: 200px;
border: 1px solid red;
margin: 100px auto;
position: relative;
overflow: hidden;
}
.scroll ul.imgUl{
width: 400%;
position: absolute;
top: 0;
left: 0;
}
.scroll ul.imgUl li{
float: left;
}
.scroll .imgUl img{
vertical-align: middle; /* 消除圖片間3px的間距 */
}
.scroll ul.focus{
position: absolute;
left: 50%;
bottom: 10px;
margin-left: -80px;
}
.scroll ul.focus li{
width: 20px;
height: 20px;
padding: 5px;
text-align: center;
margin-right: 10px;
border: 2px solid yellow;
float: left;
color: red;
font-weight: 700;
background-color: #333;
color: white;
}
.scroll ul.focus li.current{
background-color: deeppink;
}
.scroll .arrow{
width: 100%;
position: absolute;
top: 50%;
left: 0;
margin-top: -20px;
display: none;
}
.scroll .arrow div{
width: 40px;
height: 40px;
font: 700 18px/40px "宋體";
text-align: center;
background: rgba(0,0,0,.3);
color: #fff;
cursor: pointer;
}
.scroll .arrow div.left{
float: left;
}
.scroll .arrow div.right{
float: right;
}
</style>
<script>
window.onload = function(){
function $(id){ return document.getElementById(id);}
var scrollDiv = $('scrollDiv');
var imgul = $('images');
var focusUl = $('focuses');
var imgLis = imgul.children;
var leader = 0, target = 0;
var curIndex = 0;//記錄當(dāng)前圖片的序號
var leftArrow = $('leftArrow');
var rightArrow = $('rightArrow');
//可自動生成和圖片對應(yīng)的序號
/*for(var i=0; i< imgLis.length; i++){
var newLi = document.createElement('li');
newLi.innerHTML=i+1;
focusUl.appendChild(newLi);
}*/
var focusLis = focusUl.children;
for(var i=0; i<focusLis.length; i++){
focusLis[i].index = i;
focusLis[i].onmouseover = function(){
curIndex = this.index;
switchFocus(curIndex);
target = -this.index * 300;
}
}
scrollDiv.onmouseover = function(){
$('arrowDiv').style.display="block";
clearInterval(timer);
}
scrollDiv.onmouseout = function(){
$('arrowDiv').style.display="none";
timer = setInterval(autoPlay,3000);
}
leftArrow.onclick = function(){
target +=300;
curIndex = curIndex==0 ? focusLis.length-1 : curIndex-1;
switchFocus(curIndex);
}
rightArrow.onclick = function(){
target -=300;
curIndex = (curIndex+1) % focusLis.length;
switchFocus(curIndex);
}
//緩動效果
setInterval(function(){
if(target > 0){
target = -900;
leader = -1000;
}else if(target < -900){
target = 0;
leader = 100;
}
leader = leader + (target - leader) / 10;
imgul.style.left = leader +"px";
} ,10);
switchFocus(0);
//每隔3s左移圖片
var timer = null;
timer = setInterval(autoPlay,3000);
function autoPlay(){
target -= 300;
curIndex = (curIndex+1) % focusLis.length;
switchFocus(curIndex);
}
//轉(zhuǎn)換樣式
function switchFocus(curIndex){
for(var j=0; j<focusLis.length;j++){
focusLis[j].className="";
}
focusLis[curIndex].className="current";
}
}
</script>
</head>
<body>
<div class="scroll" id="scrollDiv">
<ul class="imgUl" id="images">
<li><img src="images/01.jpg" alt=""></li>
<li><img src="images/02.jpg" alt=""></li>
<li><img src="images/03.jpg" alt=""></li>
<li><img src="images/04.jpg" alt=""></li>
</ul>
<ul class="focus" id="focuses">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<div class="arrow" id="arrowDiv">
<div class="left" id="leftArrow"><</div>
<div class="right" id="rightArrow">></div>
</div>
</div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript黑洞數(shù)字之運(yùn)算路線查找算法(遞歸算法)實(shí)例
這篇文章主要介紹了JavaScript黑洞數(shù)字之運(yùn)算路線查找算法,涉及JavaScript遞歸操作算法相關(guān)技巧,需要的朋友可以參考下2016-01-01
隨機(jī)生成10個不重復(fù)的0-100的數(shù)字(實(shí)例講解)
下面小編就為大家?guī)硪黄S機(jī)生成10個不重復(fù)的0-100的數(shù)字(實(shí)例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
基于JS實(shí)現(xiàn)密碼框(password)中顯示文字提示功能代碼
這篇文章主要介紹了實(shí)現(xiàn)密碼框(password)中顯示文字提示功能代碼,在項(xiàng)目開發(fā)中經(jīng)常會用到,需要的朋友可以參考下2016-05-05
JS實(shí)現(xiàn)簡單的tab切換選項(xiàng)卡效果
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的tab切換選項(xiàng)卡效果,涉及javascript結(jié)合鼠標(biāo)事件對頁面元素屬性動態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2016-09-09

