jq.length()方法报错
来源:5-7 首页.UI组件-UiSlider(2)
海绵弟弟
2019-09-23 13:37:39
<div class="banner"> <div class="banner-slider ui-slider"> <div class="ui-slider-wrap"> <a href="javascript:;" class="item"> <img src="img/banner_1.jpg" alt="banner_1"> </a> <a href="javascript:;" class="item"> <img src="img/banner_2.jpg" alt="banner_1"> </a> <a href="javascript:;" class="item"> <img src="img/banner_3.jpg" alt="banner_1"> </a> </div> <div class="ui-slider-arrow"> <a href="javascript:;" class="item left"> </a> <a href="javascript:;" class="item right"> </a> </div> <div class="ui-slider-process"> <a href="" class="item item_focus"> </a> <a href="" class="item"> </a> <a href="" class="item"> </a> </div> </div>
$.fn.UiSlider = function(){ var ui = $(this); var wrap = $('.ui-slider-wrap'); var items = $('.ui-slider-wrap .item',ui); var btn_prev = $('.ui-slider-arrow .left',ui); var btn_next = $('.ui-slider-arrow .right',ui); var tips = $('.ui-slider-process .item',ui); var current = 0; var size = items.length(); var width = items.eq(0).width(); wrap.on('move_prev',function(){ }) .on('move_next',function(){ }) .on('move_to',function(event,index){ wrap.css('left',index*width*-1); }) btn_prev.on('click',function(){ wrap.traggerHandler('move_prev') }); btn_next.on('click',function(){ wrap.traggerHandler('move_next') }); tips.on('click',function(){ var index = $(this).index(); wrap.traggerHandler('move_to') }); }
3回答
好帮手慕星星
2019-09-24
你好,
a标签需要阻止默认跳转,如下:
否则href属性没有值会跳转刷新页面,自己再测试下。
祝学习愉快!
海绵弟弟
提问者
2019-09-24
//轮播图 $.fn.UiSlider = function(){ var ui = $(this); var wrap = $('.ui-slider-wrap',ui); var btn_prev = $('.ui-slider-arrow .left',ui); var btn_next = $('.ui-slider-arrow .right',ui); var items = $('.ui-slider-wrap .item',ui); var tips =$('.ui-slider-process .item',ui); // 预定义 var current = 0; var size = items.length; var width = items.eq(0).width(); var enableAuto = true; // 设置自动滚动感应(如果鼠标在 wrap 中,不要自动滚动) ui .on('mouseover',function(){ enableAuto = false; }) .on('mouseout',function(){ enableAuto = true; }) // 具体操作 wrap .on('move_prev',function(){ if(current<=0){ current = size; } current = current - 1 ; wrap.triggerHandler('move_to',current); }) .on('move_next',function(){ if( current >= size-1){ current = -1; } current = current + 1 ; wrap.triggerHandler('move_to',current); }) .on('move_to',function(evt,index){ wrap.css('left',index*width*-1); tips.removeClass('item_focus').eq(index).addClass('item_focus'); }) .on('auto_move',function(){ setInterval(function(){ enableAuto && wrap.triggerHandler('move_next'); },2000); }) .triggerHandler('auto_move'); // 事件 btn_prev.on('click',function(){ wrap.triggerHandler('move_prev'); }); btn_next.on('click',function(){ wrap.triggerHandler('move_next'); }); tips.on('click',function(){ var index = $(this).index(); wrap.triggerHandler('move_to',index); }) }
<div class="banner"> <div class="banner-slider ui-slider"> <div class="ui-slider-wrap"> <a href="javascript:;" class="item"> <img src="img/banner_1.jpg" alt="banner_1"> </a> <a href="javascript:;" class="item"> <img src="img/banner_2.jpg" alt="banner_1"> </a> <a href="javascript:;" class="item"> <img src="img/banner_3.jpg" alt="banner_1"> </a> </div> <div class="ui-slider-arrow"> <a href="javascript:;" class="item left"> </a> <a href="javascript:;" class="item right"> </a> </div> <div class="ui-slider-process"> <a href="" class="item item_focus"> </a> <a href="" class="item"> </a> <a href="" class="item"> </a> </div> </div>
老师为什么我的轮播图点小圆点tip的时候不会切换图片?
好帮手慕星星
2019-09-23
同学你好。
length是一个属性,不是方法哦,所以不需要加括号。如下修改:
自己测试下,祝学习愉快!
相似问题