2013-12-15 50 views
0

這裏的小提琴:http://jsfiddle.net/G2VKx/3/的Javascript拉斐爾奇怪的閃爍情況我第三次鼠標懸停

當我將鼠標懸停在圓圈,文字很好地顯示出來,但如果我刪除鼠標,我第三次鼠標懸停,高度和與文字尺寸相匹配的盒子寬度開始不斷增長,並且存在這種奇怪的頻閃效應。

var rsr = Raphael("holder", '1160', '1400'); 

xpos = 200; 
ypos = 200; 
rad = 50; 

var rectext, el, txt; 

cir = rsr.circle(xpos, ypos, rad); 
cir.attr({ 
    fill: '#444', 
     'fill-opacity': 1, 
    stroke: 'none' 
}); 

cir.hover(function() { 
    this.animate({ 
     r: rad * 1.2 
    }, 200); 
    recttext = rsr.set(); 
    el = rsr.rect(0, 0, 0, 0, 3); 
    el.attr({ 
     fill: '#fff' 
    }); 
    txt = rsr.text(4, 10, "Title text").attr({ 
     "text-anchor": "start", 
     fill: '#000000', 
     "font-size": 12 
    }); 
    recttext.push(el); 
    recttext.push(txt); 
    var att = { 
     width: recttext.getBBox().width, 
     height: recttext.getBBox().height 
    }; 
    el.attr(att); 
    recttext.translate(xpos - recttext.getBBox().width/2, ypos - rad - 20); 
}, function() { 
    this.animate({ 
     r: rad 
    }, 100); 
    recttext.remove(); 
    el.remove(); 
    txt.remove(); 
     }); 
+1

試用最新版本2.1.2。我不會因爲那個版本而閃爍。 –

+0

就是這樣。謝謝,我以爲我瘋了。 – prooffreader

回答

0

安託Jurković得到它,使用拉斐爾2.1.2,而不是小提琴的內置2.1.0解決了這個問題。