鼠標(biāo)直接在標(biāo)題中來回切換就會抖動,怎么解決呢?
?var aA=document.getElementsByTagName('a');
? ? ? ? ? ? ? ? ? ? for(var i=0;i<aA.length;i++){
? ? ? ? ? ? ? ? ? ? ? ? aA[i].onmouseover=function(){
? ? ? ? ? ? ? ? ? ? ? ? ? ? clearInterval(this.time);
? ? ? ? ? ? ? ? ? ? ? ? ? ? var This=this;
? ? ? ? ? ? ? ? ? ? ? ? ? ? This.time=setInterval(function(){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? This.style.width=This.offsetWidth+8+"px";
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(This.offsetWidth>=160){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? clearInterval(This.time);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? },30)?
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? aA[i].onmouseout=function(){
? ? ? ? ? ? ? ? ? ? ? ? ? ? clearInterval(this.time);
? ? ? ? ? ? ? ? ? ? ? ? ? ? var This=this;
? ? ? ? ? ? ? ? ? ? ? ? ? ? This.time=setInterval(function(){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? This.style.width=This.offsetWidth-8+"px";
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? if(This.offsetWidth<=120){
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? This.style.width="120px";
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? clearInterval(This.time);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ? ? ? ? },30)?
? ? ? ? ? ? ? ? ? ? ? ? } ??
? ? ? ? ? ? ? ? ? ? }
2016-07-29
可以把時間間隔30毫秒調(diào)到100毫秒試試
其實抖動效果是因為當(dāng)你的鼠標(biāo)離開左邊的時候,觸發(fā)了左邊盒子的onmouseout事件,與此同時,鼠標(biāo)移到了右邊,也就是觸發(fā)了右邊盒子的onmouseover事件,這兩個事件同時進(jìn)行,也就是左邊盒子往回縮的同時,右邊的盒子在伸長,但是左邊盒子往回縮會造成右邊盒子往左移動,于是右邊的盒子同時在進(jìn)行左移和向右伸長,而且頻率很快(每30毫秒),看起來就像是在抖動一樣
2016-07-29
鼠標(biāo)移動快了的確會發(fā)顫,原因我也不知,同求解答