<style>
*{
margin: 0;
padding: 0
}
ol, ul {
list-style: none
}
a{
text-decoration: none;
outline: none;
cursor: pointer;
}
img {
border: 0;
vertical-align: top;
}
.wrap {
width: 1200px;
margin: 10px auto;
}
.slide {
height: 500px;
position: relative;
}
.slide li {
position: absolute;
left: 200px;
top: 0;
}
.slide li img {
width: 100%;
}
.arrow {
opacity: 0;
}
.prev,.next {
width: 76px;
height: 112px;
position: absolute;
top: 50%;
margin-top: -56px;
background: url(./images/prev.png) no-repeat;
z-index: 99;
}
.next {
right: 0;
background-image: url(./images/next.png);
}
</style>
<div class="wrap" id="wrap">
<div class="slide" id="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>
</ul>
<div class="arrow" id="arrow">
<a href="javascript:;" class="prev"></a>
<a href="javascript:;" class="next"></a>
</div>
</div>
</div>
var arr = [
{
width:400,
top:70,
left:50,
opacity:20,
zIndex:2
},
{
width:600,
top:120,
left:0,
opacity:80,
zIndex:3
},
{
width:800,
top:100,
left:200,
opacity:100,
zIndex:4
},
{
width:600,
top:120,
left:600,
opacity:80,
zIndex:3
},
{
width:400,
top:70,
left:750,
opacity:20,
zIndex:2
}
];
window.onload=function () {
var wrap=document.getElementById("wrap");
var arrow=document.getElementById("arrow");
var liArr=wrap.getElementsByTagName("li");
setStyle();
wrap.onmouseover=function () {
animate_multiple_slow(arrow,{
opacity:100
})
};
wrap.onmouseout=function () {
animate_multiple_slow(arrow,{
opacity:0
})
};
var boo=true;
arrow.children[0].onclick=function () {
if(boo){
arr.push(arr.shift());
setStyle()
boo=false;
}
};
arrow.children[1].onclick=function () {
if(boo){
arr.unshift(arr.pop());
setStyle();
boo=false;
}
};
function setStyle() {
for(var i=0;i<liArr.length;i++){
animate_multiple_slow(liArr[i],arr[i],function () {
boo=true;
});
}
}
};
function animate_multiple_slow(ele,json,callback) {
clearInterval(ele.timer);
var step;
var nowState;
var boo;
ele.timer=setInterval(function () {
boo=true;
for(var k in json){
if(k=="opacity"){
nowState=(parseFloat(getStyle(ele,k))||0)*100
}else{
nowState=parseInt(getStyle(ele,k)) || 0;
}
step=(json[k]-nowState)/10;
step=step>0?Math.ceil(step):Math.floor(step);
nowState=nowState+step;
if(k=="opacity") {
ele.style[k] = nowState / 100;
ele.style.filter="alpha(opacity="+nowState+")";
}else if(k=="zIndex" || k=="z-index"){
ele.style[k]=json[k];
}else{
ele.style[k]=nowState+"px";
}
if(Math.abs(json[k]-nowState)>Math.abs(step)){
boo=false;
}
}
if(boo){
clearInterval(ele.timer);
for (var k in json){
if(k=="opacity"){
ele.style[k]=json[k]/100;
ele.style.filter="alpha(opacity="+json[k]+")";
}else if(k=="zIndex" || k=="z-index"){
ele.style[k]=json[k];
}else{
ele.style[k]=json[k]+"px";
}
}
if(typeof callback =="function"){
callback();
}
}
},25)
}
function getStyle(ele,attrName) {
if(window.getComputedStyle!=undefined){
return window.getComputedStyle(ele)[attrName];
}else{
return ele.currentStyle[attrName];
}
}
