jquery.focus.js
;(function($){ $.fn.myfocus = function(options){ var obj = $.extend({}, $.fn.myfocus.defaults, options || {}); return $(this).each(function(){ // methods.init(); var $_this = $(this), sWidth = $_this.width(), len = $_this.find(‘ul li‘).length, index = 0, picTimer; $_this.find(‘ul‘).width(sWidth*len); var btn = "<div class=‘btnBg‘></div><div class=‘btn‘>"; for(var i=0; i < len; i++) { btn += "<span></span>"; } btn += "</div><div class=‘preNext pre‘></div><div class=‘preNext next‘></div>"; $_this.append(btn); $_this.find(‘.btn span‘).css("opacity",0.4).click(function() { index = $_this.find(‘.btn span‘).index(this); showPics(index); }).eq(0).trigger("click"); $_this.hover(function(){ clearInterval(picTimer); },function(){ picTimer = setInterval(function(){ showPics(index); index++; if(index == len) {index = 0} },4000); }); $_this.find(‘.pre‘).click(function() { index -= 1; if(index == -1) {index = len - 1;} showPics(index); }); $_this.find(‘.next‘).click(function() { index += 1; if(index == len) {index = 0;} showPics(index); }); function showPics(index) { //普通切换 var nowLeft = -index*sWidth; //根据index值计算ul元素的left值 $_this.find(‘ul‘).stop(true,false).animate({"left":nowLeft},300); //通过animate()调整ul元素滚动到计算出的position //$(".focus .btn span").removeClass("on").eq(index).addClass("on"); //为当前的按钮切换到选中的效果 $_this.find(‘.btn span‘).stop(true,false).animate({"opacity":"0.4"},300).eq(index).stop(true,false).animate({"opacity":"1"},300); //为当前的按钮切换到选中的效果 } }); }; $.fn.myfocus.defaults = { nextTarget : 10 }; })(jQuery);
$(‘#focus‘).myfocus();
<div class="focus" id="focus"> <ul> <li><a href="#" target="_blank"><img src="img/1.jpg" alt="" /></a></li> <li><a href="#" target="_blank"><img src="img/2.jpg" alt="" /></a></li> <li><a href="#" target="_blank"><img src="img/3.jpg" alt="" /></a></li> </ul> </div>
<style type="text/css"> * {margin:0; padding:0;} body {font-size:12px; color:#222; font-family:Verdana,Arial,Helvetica,sans-serif; background:#f0f0f0;} .clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;} .clearfix {zoom:1;} ul,li {list-style:none;} img {border:0;} .wrapper {width:800px; margin:0 auto; padding-bottom:50px;} h1 {height:50px; line-height:50px; font-size:22px; font-weight:normal; font-family:"Microsoft YaHei",SimHei;} .shuoming {margin-top:20px; border:1px solid #ccc; padding-bottom:10px;} .shuoming dt {height:30px; line-height:30px; font-weight:bold; text-indent:10px;} .shuoming dd {line-height:20px; padding:5px 20px;} /* qqshop focus */ .focus {width:800px; height:450px; overflow:hidden; position:relative;} .focus ul {height:450px; position:absolute;} .focus ul li {float:left; width:800px; height:450px; overflow:hidden; position:relative;} .focus ul li div {position:absolute; overflow:hidden;} .focus .btnBg {position:absolute; width:800px; height:20px; left:0; bottom:0; background:#000;} .focus .btn {position:absolute; width:780px; height:10px; padding:5px 10px; right:0; bottom:0; text-align:right;} .focus .btn span {display:inline-block; _display:inline; _zoom:1; width:25px; height:10px; _font-size:0; margin-left:5px; cursor:pointer; background:#fff;} .focus .btn span.on {background:#fff;} .focus .preNext {width:45px; height:100px; position:absolute; top:90px; background:url(img/sprite.png) no-repeat 0 0; cursor:pointer;} .focus .pre {left:0;} .focus .next {right:0; background-position:right top;} </style>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。