2014-03-06 28 views
1

我正在用JavaScript構建一個小部件,使用jQuery 1.10.2我用了兩個div的舊技巧,外部div較小並且部分隱藏內部div。因此,我使用jQuery .css()更改內部div的左側和寬度,以便實現對此內部div的包含進行平移和縮放。即使在這些內部div中有一個複雜的DOM,它也能很好地工作。jQuery CSS掛鉤速度慢。可以禁用或修復?

問題是,在Firefox 26和27是緩慢的。我看到了,調用「jQuery.cssHooks [name] .get()」正在痛苦緩慢(在Chrome 33.0.1750.146這些調用很快),所以傷害了糟糕的性能。它一直在使用,但Chrome和Firefox之間的差異和感受與這個問題是非常可觀的和不可接受的。

我發現緩慢cssHooks發生時,我使用.css()更改像素的左側屬性。

var left = String(- (this.view_cursor - this.options.start) * this.PPY + offset) + 'px'; 
var width = String(this.PPY * interval) + 'px'; 

this.container.css({ 
    left: left, // This line launchs the painful slow cssHooks calls 
    width: width, 
}); 

任何想法或建議如何我可以避免這些慢速通話或加速? 我沒有找到任何與此類似的問題或類似問題的人的任何信息。

編輯:你可以在這裏進行測試:http://www.digibis.com/elgreco_digimus/es/musobjects/timeline.html?busq_concept=53

+0

我認爲字符串( - (應該是字符串( - ( –

+0

你有JSFiddeell? –

+0

我沒有JSFiddeell ,但我在演示中放置了一個工作原型的鏈接,我等待被允許將這個widget放在開源中,這將是我的最終學位項目。 – Zardoz89

回答

0

好了,看起來這是火狐是Linux和一些驅動程序的渲染更慢...... 我描述文件時手動測量次JS代碼,我發現Firefox需要7毫秒,當Chrome需要4毫秒在相同的代碼重繪所有...