想让每张图的宽度自适应,以便于适应不同尺寸的手机端,但是自动滚动时总是会出现图片错位。怎么解决。下面是我的html代码<div class="banner"> <div class="banner-btn"> <a href="javascript:;" class="prevBtn"><i></i></a> <a href="javascript:;" class="nextBtn"><i></i></a> </div> <ul class="banner-img" style="left: -250px;"> <li><a href="#"><img src="img/1.jpg"></a></li> <li><a href="#"><img src="img/2.jpg"></a></li> <li><a href="#"><img src="img/3.jpg"></a></li> <li><a href="#"><img src="img/4.jpg"></a></li> <li><a href="#"><img src="img/5.jpg"></a></li> <li><a href="#"><img src="img/6.jpg"></a></li> </ul> <ul class="banner-circle"></ul></div>CSS的:.banner{ width:100%; height: 150px; position: relative; overflow: hidden; margin-bottom: 0; margin-left: auto; margin-right: auto; }.banner-btn{display:none;}.banner-btn a{display:block;line-height:40px;position:absolute;top:120px;width:40px;height:40px;background-color:#000;opacity:0.3;filter:alpha(opacity=30) color:rgb(255, 255, 255);overflow:hidden;z-index:4;}.prevBtn{left:5px;}.nextBtn{right:5px;}.banner-img{font-size:0;*word-spacing:-1px;/* IE6、7 */ letter-spacing:-3px;position:relative;}.banner-img li{display:inline-block;*display:inline;*zoom:1;/* IE6、7 */ vertical-align:top;letter-spacing:normal;word-spacing:normal;font-size:12px;}.banner i{background:url(http://gtms01.alicdn.com/tps/i1/T1szNBFzlmXXX8QSDI-400-340.png) no-repeat;width:15px;height:23px;cursor:pointer;margin:8px 0 0 12px;display:block;}.banner .nextBtn i{background-position:-200px -24px;}.banner .prevBtn i{background-position:-200px 0px;}.banner-circle{position:absolute;left:50%;bottom:15px;height:13px;text-align:center;font-size:0;border-radius:10px;background:rgba(255,255,255,0.3);filter:alpha(opacity:30);}.banner-circle li{border-radius:10px;margin:2px;display:inline-block;display:-moz-inline-stack;vertical-align:middle;zoom:1;}.banner-circle li a{display:block;padding-top:9px;width:9px;height:0;border-radius:50%;background:#B7B7B7;overflow:hidden;}.banner-circle .selected a{background:#F40;}JQ的:<script type="text/javascript"> $(function() { var $banner = $('.banner'); var $banner_ul = $('.banner-img'); var $btn = $('.banner-btn'); var $btn_a = $btn.find('a'); var v_width = $banner.width(); var page = 1; var timer = null; var btnClass = null; var page_count = $banner_ul.find('li').length; //把这个值赋给小圆点的个数 var banner_cir = "<li class='selected' href='#'><a></a></li>"; for (var i = 1; i < page_count; i++) { //动态添加小圆点 banner_cir += "<li><a href='#'></a></li>"; } $('.banner-circle').append(banner_cir); var cirLeft = $('.banner-circle').width() * ( - 0.5); $('.banner-circle').css({ 'marginLeft': cirLeft }); $banner_ul.width(page_count * v_width); function move(obj, classname) { //手动及自动播放 if (!$banner_ul.is(':animated')) { if (classname == 'prevBtn') { if (page == 1) { $banner_ul.animate({ left: -v_width * (page_count - 1) }); page = page_count; cirMove(); } else { $banner_ul.animate({ left: '+=' + v_width }, "slow"); page--; cirMove(); } } else { if (page == page_count) { $banner_ul.animate({ left: 0 }); page = 1; cirMove(); } else { $banner_ul.animate({ left: '-=' + v_width }, "slow"); page++; cirMove(); } } } } function cirMove() { //检测page的值,使当前的page与selected的小圆点一致 $('.banner-circle li').eq(page - 1).addClass('selected').siblings().removeClass('selected'); } $banner.mouseover(function() { $btn.css({ 'display': 'block' }); clearInterval(timer); }).mouseout(function() { $btn.css({ 'display': 'none' }); clearInterval(timer); timer = setInterval(move, 3000); }).trigger("mouseout"); //激活自动播放 $btn_a.mouseover(function() { //实现透明渐变,阻止冒泡 $(this).animate({ opacity: 0.6 }, 'fast'); $btn.css({ 'display': 'block' }); return false; }).mouseleave(function() { $(this).animate({ opacity: 0.3 }, 'fast'); $btn.css({ 'display': 'none' }); return false; }).click(function() { //手动点击清除计时器 btnClass = this.className; clearInterval(timer); timer = setInterval(move, 3000); move($(this), this.className); }); $('.banner-circle li').live('click', function() { var index = $('.banner-circle li').index(this); $banner_ul.animate({ left: -v_width * index }, 'slow'); page = index + 1; cirMove(); }); }); </script>
添加回答
举报
0/150
提交
取消