droppable: a small performance improvement by not using :visible, and deferring to a simpler syntax of checking for diplay none

This commit is contained in:
Paul Bakaus 2008-07-03 13:05:30 +00:00
parent 6e7572309a
commit 6aaf1598d2

View File

@ -176,9 +176,10 @@ $.ui.ddmanager = {
var m = $.ui.ddmanager.droppables; var m = $.ui.ddmanager.droppables;
var type = e ? e.type : null; // workaround for #2317 var type = e ? e.type : null; // workaround for #2317
for (var i = 0; i < m.length; i++) { for (var i = 0; i < m.length; i++) {
if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue; if(m[i].options.disabled || (t && !m[i].options.accept.call(m[i].element,(t.currentItem || t.element)))) continue;
m[i].visible = m[i].element.is(":visible"); if(!m[i].visible) continue; //If the element is not visible, continue m[i].visible = m[i].element.css("display") == "none"; if(!m[i].visible) continue; //If the element is not visible, continue
m[i].offset = m[i].element.offset(); m[i].offset = m[i].element.offset();
m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight }; m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
@ -210,6 +211,7 @@ $.ui.ddmanager = {
if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e); if(draggable.options.refreshPositions) $.ui.ddmanager.prepareOffsets(draggable, e);
//Run through all droppables and check their positions based on specific tolerance options //Run through all droppables and check their positions based on specific tolerance options
$.each($.ui.ddmanager.droppables, function() { $.each($.ui.ddmanager.droppables, function() {
if(this.options.disabled || this.greedyChild || !this.visible) return; if(this.options.disabled || this.greedyChild || !this.visible) return;