滑动轮播,中间放大

2018-11-02  本文已影响0人  羊绘霖

<div class="btnMode" id="slider">

<a href="javascript:void(0);" class="prev btn"></a>

<div class="scroll">

<ul class="scrollContainer clearfix">

          <li class="panels" id="panel_1">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="Alexander McQueen秋季" src="~/Content/common/mode/images/dududu.jpg" />

<span>Alexander McQueen秋季</span>

</a>

</li>

<li class="panels" id="panel_2">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="Gustavsson演绎朋克的性感" src="~/Content/common/mode/images/penk.jpg" />

<span>Gustavsson演绎朋克的性感</span>

</a>

</li>

<li class="panels" id="panel_3">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="Alexander McQueen秋季" src="~/Content/common/mode/images/dududu.jpg" />

<span>Alexander McQueen秋季</span>

</a>

</li>

<li class="panels current" id="panel_4">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="僵尸男孩的性感震撼" src="~/Content/common/mode/images/ala.jpg" />

<span>僵尸男孩的性感震撼</span>

</a>

</li>

<li class="panels" id="panel_5">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="超级男模" src="~/Content/common/mode/images/oab.jpg" />

<span>超级男模</span>

</a>

</li>

<li class="panels" id="panel_6">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="Alexander McQueen秋季" src="~/Content/common/mode/images/dududu.jpg" />

<span>Alexander McQueen秋季</span>

</a>

</li>

<li class="panels" id="panel_7">

<a href="http://sc.chinaz.com/" class="inside" target="_blank">

<img width="230" height="295" alt="僵尸男孩的性感震撼" src="~/Content/common/mode/images/ala.jpg" />

<span>僵尸男孩的性感震撼</span>

</a>

</li>*@

</ul>

</div>

<a href="javascript:void(0);" class="next btn"></a>   

</div>

css:

*{margin:0;padding:0;list-style-type:none;}

a,img{border:0;}

body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}

a{color:#000;outline:none;text-decoration:none;}

a:hover{text-decoration:underline;}

/* slider */

#slider{width:100%;height:380px;overflow:hidden;padding:20px 15px;position:relative;margin:0 auto;}

.scroll{width:620px;height:380px;margin:0 auto;overflow:hidden;position:relative;}

.scrollContainer{position: relative;width:1815px;left:0px;}

.scrollContainer .current .inside{width:246px;height:288px;}

.scrollContainer .panels{width:170px;height:235px;float: left;margin-right:16px;display:inline;}

.panels .inside{display:block;position:relative; }

.inside img{height:100%;width:100%;}

.scroll li .inside span{width:80%;height:37px;line-height:37px;/*display:none;*/position:absolute;bottom:-17px;left:10%;background-color:#a55312;font-size:14px;color:#FFF;text-align:center;}

.scroll li.current .inside span{display:block;}

.btnMode a.btn{background:url('../images/index.png') no-repeat;}

.btnMode a.btn{width:20px; height:39px;position:absolute;top:125px; }

.btnMode a.prev{left:5px;background-position:0 -61px;}

.btnMode a.prev:hover{background-position:0 -102px;}

.btnMode a.next{right:5px;background-position:-50px -61px;}

.btnMode a.next:hover{background-position:-50px -102px;}

js:

$(function(){

/*未元素的首尾添加补白*/

var $panels = $('#slider .scrollContainer > li');

var $parent=$panels.parent();//或许当前li的最近一级的父元素

var $length=$panels.length;//获取指定length值

var $first=$panels.eq(0).clone().addClass("panel cloned").attr("id",'panel_'+($length+1));//获取第一个元素并复制

var $last=$panels.eq($length-1).clone().addClass("cloned").attr("id",'panel_0');;//获取最后一个元素并复制

$parent.append($first);//将li序列中的第一个添加到ul元素中的最后一个  $("#slide02").scrollLeft(0);

$parent.prepend($last);//将li序列中的最后一个添加到ul元素中的第一个

var totalPanels = $(".scrollContainer").children().size();//所有子元素的数字,滚动元素的个数 7

var regWidth = $(".panels").css("width");//获取li元素的宽度

var regImgWidth = $(".panels img").css("width");//获取其中图片的宽度

var movingDistance     = 186;//每次移动的距离

var curWidth = 246;//当前中间li的宽度为350px

var curHeight        =312;//当前中间li的高度未312 

var curImgWidth  =246;

var curImgHeight  =288;

var othersW          =170;//其他li的宽度

var othersH          =235;//高度

var othersImgW          =170;//其他li的宽度

var othersImgH          =213;//高度

var $panels = $('#slider .scrollContainer > li');//此处作用是将复制进来补白的元素重新赋值

var $container = $('#slider .scrollContainer');

$panels.css({'float' : 'left','position' : 'relative'});

$("#slider").data("currentlyMoving", false);//是否正在运动中

$container.css('left','0');//计算容器的总的宽度 PS:25为margin值 offsetWidth

var scroll = $('#slider .scroll').css('overflow', 'hidden');

function returnToNormal(element) {//li元素返回到正常状态

$(element).animate({ width: othersW,height: othersH}).find("img").animate({width:othersImgW,height:othersImgH});

};

function growBigger(element) {//当前元素之间变大

$(element).addClass("current").animate({ width: curWidth,height:curHeight}).siblings().removeClass("current")

.end().find("img").animate({width:curImgWidth,height:curImgHeight})

}

//direction true = right, false = left

function change(direction) {

//if not at the first or last panel

if((direction && !(curPanel < totalPanels-2)) || (!direction && (curPanel <= 1))) {

return false;

}

//if not currently moving

if (($("#slider").data("currentlyMoving") == false)) {

$("#slider").data("currentlyMoving", true);

var next        = direction ? curPanel + 1 : curPanel - 1;

var leftValue    = $(".scrollContainer").css("left");

var movement = direction ? parseFloat(leftValue, 10) - movingDistance : parseFloat(leftValue, 10) + movingDistance;

$(".scrollContainer").stop().animate({"left": movement}, function() {

$("#slider").data("currentlyMoving", false);

});

returnToNormal("#panel_"+curPanel);

growBigger("#panel_"+next);

curPanel = next;

//remove all previous bound functions

$("#panel_"+(curPanel+1)).unbind();

//go forward

$("#panel_"+(curPanel+1)).click(function(){ change(true); });

//remove all previous bound functions

$("#panel_"+(curPanel-1)).unbind();

//go back

$("#panel_"+(curPanel-1)).click(function(){ change(false); });

//remove all previous bound functions

$("#panel_"+curPanel).unbind();

}

}

// Set up "Current" panel and next and prev 设置当前元素和上下

growBigger("#panel_1");

var curPanel = 1;

$("#panel_"+(curPanel+1)).click(function(){ change(true);return false;});

$("#panel_"+(curPanel-1)).click(function(){ change(false);return false;});

//when the prev/next arrows are clicked

$("#slider .next").click(function(){ change(true);});

$("#slider .prev").click(function(){ change(false);});

$(window).keydown(function(event){//键盘方向键控制

switch (event.keyCode) {

case 13: //enter

$(".next").click();

break;

case 37: //prev arrow

$(".prev").click();

break;

case 39: //next arrow

$(".next").click();

break;

}

});

});

上一篇下一篇

猜你喜欢

热点阅读