请教一个问题
prolovec
2011-04-17
Ext.Cartoon = { elsNum : [], elsAdv : [], banner : function() { var sum = 0; var cur = 0; var width=800; var isRunning=true; // 计时器 var tr = new Ext.util.TaskRunner(); // 任务 var task = { run : function() { if(cur!=sum&&isRunning){ isRunning=false; auto(cur); cur++; isRunning=true; }else{ cur=0; } }, interval : 2000 }; tr.start(task); // 将广告对象存入数组 Ext.fly('advert').select('li').each(function(el, this_, index_i) { //强制不要共享了,构造一个自己的ext 对象 var ob = Ext.get(el.dom) Ext.Cartoon.elsAdv.push(ob); }); //将编号对象存入数组 Ext.fly('number').select('li').each(function(el, index, allEl) { var ob = Ext.get(el.dom); Ext.Cartoon.elsNum.push(ob); }); sum =Ext.Cartoon. elsAdv.length; // 为编号添加click事件 Ext.each(Ext.Cartoon.elsNum, function(el, index, allEl) { el.on('click', function() { cur = index; auto(cur); }); }); // 为广告对象添加hover事件 Ext.each(Ext.Cartoon.elsAdv,function(el,index,allEl){ el.hover(function(e,t){tr.stop(task);}, function(e,t){tr.start(task)}); }); function auto(cur) { isRunning = false; Ext.each(Ext.Cartoon.elsNum, function(el, index, allEl){ el.removeClass('on'); }); Ext.each(Ext.Cartoon.elsAdv, function(el, index, allEl){ Ext.Cartoon.elsAdv[index].pause(1).animate({'left':{to:(index-cur)*800,unit:'px'}},2.0); //el.setLeft((index-cur)*800); }); Ext.Cartoon.elsNum[cur].addClass('on'); isRunning=true; } } } 上面是我用ext core实现的一个幻灯片效果的代码,现在的问题就是如果我不停地将鼠标移入或移出这个区域都会触发hover事件,请问有没有什么办法解决 |