<div id="mp-banner" class="mp-banner-slide">
<ul id="mpList" class="mp-banner-list">
<li class="item banner0">
<a target="_blank">
<img src="images/5.jpg" alt="发光武器装备,限量免费放送,等你哟!">
<span class="mp-line-opacity">发光武器装备,限量免费放送,等你哟!</span>
</a>
</li>
<li class="item banner1">
<a target="_blank">
<img src="images/6.jpg" alt="暗黑战神-极速3D动作手游">
<span class="mp-line-opacity">暗黑战神-极速3D动作手游</span>
</a>
</li>
<li class="item banner2">
<a target="_blank">
<img src="images/3.jpg" alt="传奇安卓手游,不删档内侧">
<span class="mp-line-opacity">传奇安卓手游,不删档内侧</span>
</a>
</li>
<li class="item banner3">
<a target="_blank">
<img src="images/4.jpg" alt="本年度最热门手机游戏<<放开那三国>>">
<span class="mp-line-opacity">本年度最热门手机游戏<<放开那三国>></span>
</a>
</li>
<li class="item banner4">
<a target="_blank">
<img src="images/5.jpg" alt="最受欢迎的手机游戏<<时空猎人(街机格斗)>>">
<span class="mp-line-opacity">最受欢迎的手机游戏<<时空猎人(街机格斗)>></span>
</a>
</li>
</ul>
<div id="dots" class="mp-banner-dots">
<a class="dot"></a>
<a class="dot"></a>
<a class="dot dot-active"></a>
<a class="dot"></a>
<a class="dot"></a>
</div>
</div>
css==========
*{ margin:0; padding:0;}
body{font:12px/1.125 Arial,Helvetica,sans-serif;background:#fff;}
table{border-collapse:collapse;border-spacing:0;}
li{list-style:none;}
fieldset,img{border:0;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
q:before,q:after{content:'';}
a:focus,input,textarea{outline-style:none;}
input[type="text"],input[type="password"],textarea{outline-style:none;-webkit-appearance:none;}
textarea{resize:none}
address,caption,cite,code,dfn,em,i,th,var{font-style:normal;font-weight:normal;}
legend{color:#000;}
abbr,acronym{border:0;font-variant:normal;}
a{color:#0a8cd2;text-decoration:none;}
a:hover{text-decoration:underline;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-block;}
.clearfix{display:block;}
.clear{clear:both;height:0;font:0/0 Arial;visibility:hidden;}
.none{display:none}
/* main */
.mp-banner-slide{position:relative;width:980px;margin:0 auto;height:280px;*height:310px;*zoom:1;z-index:1;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none}
.mp-banner-slide .banner-next{right:0;left:auto;background-position:right 0}
.mp-banner-slide .mp-banner-list{position:relative;width:100%;height:240px;margin:30px 0 20px;*zoom:1;z-index:1}
.mp-banner-slide .mp-banner-list .item{position:absolute;box-shadow:0 5px 4px rgba(0,0,0,.3)}
.mp-banner-slide .mp-banner-list .item img{width:100%;height:100%;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px}
.mp-banner-slide .mp-banner-list .item span{position:absolute;bottom:0;left:0;height:30px;line-height:30px;font-size:16px}
.mp-banner-slide .mp-banner-list .banner0{left:0;top:48px;height:160px;width:240px;z-index:1}
.mp-banner-slide .mp-banner-list .banner1{top:24px;left:98px;height:200px;width:360px;z-index:2}
.mp-banner-slide .mp-banner-list .banner2{top:0;left:235px;width:550px;height:240px;z-index:3}
.mp-banner-slide .mp-banner-list .banner3{left:540px;top:24px;height:200px;width:360px;z-index:2}
.mp-banner-slide .mp-banner-list .banner4{left:735px;top:48px;height:160px;width:240px;z-index:1}
.mp-banner-slide .mp-banner-dots{text-align:center}
.mp-banner-slide .mp-banner-dots .dot{background:#c3c3c3;width:10px;height:10px;margin:0 5px;display:inline-block;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}
.mp-banner-slide .mp-banner-dots .dot-active{background:#FF7A01}
.mp-line-opacity{width:100%;z-index:9;overflow:hidden;color:#fff;background-color:rgba(0,0,0,.5);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#80000000');text-align:center;zoom:1}
.mp-opacity-white{background-color:rgba(255,255,255,.9);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9fffffff',endColorstr='#9fffffff')}
:root .mp-line-opacity,:root .mp-opacity-white{filter:none\9!important}
js==================================
(function(){
var box = document.getElementById('mp-banner');
var ul = document.getElementById('mpList');
var li = ul.getElementsByTagName('li');
var len = li.length;
var dots = document.getElementById('dots');
var dot = dots.getElementsByTagName('a');
var arr = [];
for(var i = 0; i < len; i++){
var item = li[i];
arr.push({
top : parseInt(css(item, 'top')),
left : parseInt(css(item, 'left')),
width : parseInt(css(item, 'width')),
height : parseInt(css(item, 'height')),
zIndex : parseInt(css(item, 'zIndex'))
});
dot[i].index = i;
dot[i].onmouseover = function(){
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
scroll(this.index);
}
}
function scroll(n){
tab(n);
var ret = center(n, arr.slice(0));
for(var i = 0; i < len; i++){
//console.log(ret[i]);
li[i].style.zIndex = ret[i].zIndex;
act(li[i], ret[i]);
}
}
function tab(n){
for(var i = 0; i < len; i++){
dot[i].className = 'dot';
}
dot[n].className += ' dot-active';
}
function center(n, arr){
n -= Math.floor(arr.length / 2);
console.log(n);
for(var i = 0; i < Math.abs(n); i++){
if(n > 0){
arr.unshift(arr.pop());
} else {
arr.push(arr.shift());
}
}
return arr;
}
function css(obj, attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
} else {
return getComputedStyle(obj, false)[attr];
}
}
function act(obj, json, fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var stop = true;
for(var attr in json){
var target = json[attr];
var cur = parseInt(css(obj, attr));
var speed = (target - cur) / 8;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
if(target != cur){
stop = false;
}
cur += speed;
obj.style[attr] = cur + 'px';
}
if(stop){
clearInterval(obj.timer);
obj.timer = null;
fn && fn();
}
}, 30);
}
}());
js里面的center函数和我预想的不一样,我觉得移到第四个按钮时是最后一张图片移到第一张,为什么实际是第一张图片移到最后一张?