我正在使用jquery-ui編寫一個繪圖編輯器,您可以在其中添加/刪除形狀並移動和調整它們的大小。這一切工作正常。但是如果我添加太多形狀,那麼調整一個形狀的大小會變得非常慢。我做了一個jsfiddle,在那裏你可以看到它,但在我的編輯器中,它的速度慢了10倍,而且形狀更少。我想是因爲我有其他的事件處理程序。如果添加多個div,jquery可調整大小非常緩慢
這裏是調整大小是快速小提琴: http://jsfiddle.net/oh6e9k6k/
這裏慢一個有許多形狀(需要一些時間來加載): http://jsfiddle.net/oh6e9k6k/1/
效果可以看到最好在Internet Explorer 。
是否有機會通過如此多的形狀提高性能? 正如我在編輯中所說的那樣,即使更少的形狀也更慢。
我想避免做類似的事情,如僅當用戶單擊該形狀時才附加處理程序,並在調整大小/拖動完成時將其刪除,但如果沒有其他解決方案,則可能需要執行此操作。
這裏是形狀如何得到他們的功能:
$(".shape").resizable({
start: function (event, ui) {
$(this).addClass("highliteShape");
},
stop: function (event, ui) {
$(this).removeClass("highliteShape");
}
}).draggable({
cursor: "move",
start: function (event, ui) {
$(this).addClass("highliteShape");
},
stop: function (event, ui) {
$(this).removeClass("highliteShape");
}
});
我從實際應用截屏,顯示我的意思:HTTP:// screencast.com/t/r3xCwWdbp
然後不加這麼多div的和您的應用程序分割成幾部分(步驟) – 2014-10-07 15:20:32
這取決於他想要多少形狀繪製最終用戶。我無法限制這一點。 – 2014-10-07 15:26:45