Skip to content

Commit 717c5f6

Browse files
author
Paul Bakaus
committed
dialog: shadow is hidden during drag/resize for slow performance browsers (currently IE < 7) (fixes #3966)
1 parent b0f7179 commit 717c5f6

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

ui/ui.dialog.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,14 +306,16 @@ $.widget("ui.dialog", {
306306
containment: 'document',
307307
start: function() {
308308
(options.dragStart && options.dragStart.apply(self.element[0], arguments));
309+
if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.hide();
309310
},
310311
drag: function() {
311312
(options.drag && options.drag.apply(self.element[0], arguments));
312-
self._refreshShadow();
313+
self._refreshShadow(1);
313314
},
314315
stop: function() {
315316
(options.dragStop && options.dragStop.apply(self.element[0], arguments));
316317
$.ui.dialog.overlay.resize();
318+
if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.show();
317319
self._refreshShadow();
318320
}
319321
});
@@ -337,15 +339,17 @@ $.widget("ui.dialog", {
337339
minHeight: options.minHeight,
338340
start: function() {
339341
(options.resizeStart && options.resizeStart.apply(self.element[0], arguments));
342+
if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.hide();
340343
},
341344
resize: function() {
342345
(options.resize && options.resize.apply(self.element[0], arguments));
343-
self._refreshShadow();
346+
self._refreshShadow(1);
344347
},
345348
handles: resizeHandles,
346349
stop: function() {
347350
(options.resizeStop && options.resizeStop.apply(self.element[0], arguments));
348351
$.ui.dialog.overlay.resize();
352+
if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.show();
349353
self._refreshShadow();
350354
}
351355
})
@@ -485,7 +489,11 @@ $.widget("ui.dialog", {
485489
return this.shadow;
486490
},
487491

488-
_refreshShadow: function() {
492+
_refreshShadow: function(dragging) {
493+
// IE6 is simply to slow to handle the reflow in a good way, so
494+
// resizing only happens on stop, and the shadow is hidden during drag/resize
495+
if(dragging && $.browser.msie && $.browser.version < 7) return;
496+
489497
var offset = this.uiDialog.offset();
490498
this.shadow.css({
491499
left: offset.left,

0 commit comments

Comments
 (0)