Opened 15 years ago

Closed 15 years ago

Last modified 13 years ago

#2059 closed bug (fixed)

ui.mouse: accounting for parent scrollLeft/scrollTop

Reported by: Max_B Owned by: paul
Priority: major Milestone: 1.5
Component: ui.core Version: 1.2.1
Keywords: Cc:
Blocked by: Blocking:

Description

This report is very close to the #2052. I open a separate because this is not related to fixed parent. In an absolute div with fixed width and scroll: auto; the draggable inside are not correctly positioned if the div is scrolled. The wrong offset comes is the scrollLeft/scrollTop value.

I fixed it for my use, without further testing of nested blocks with following code: ui.mouse.js, line 142 of rev 3626

	var cp = a.parentNode;
	while (cp) {
		if(cp.style && ($(cp).css('position') == 'relative' || $(cp).css('position') == 'absolute')) {
			o.pp = cp;
			o.po = $(cp).offset();
			o.ppOverflow = !!($(o.pp).css('overflow') == 'auto' || $(o.pp).css('overflow') == 'scroll'); //TODO!
			//Max_B
			if (o.ppOverflow) {
				o.po.left -= cp.scrollLeft;
				o.po.top -= cp.scrollTop;
			}
			//Max_B
			break;	
		}
		cp = cp.parentNode ? cp.parentNode : null;
	};

Lines added are surrounded by Max_B comments.

Change History (4)

comment:1 Changed 15 years ago by paul

Owner: set to paul
Status: newassigned

This is fixed with my new rewritten version that will be released together with 1.1. Thanks for pointing it out!

comment:2 Changed 15 years ago by paul

Resolution: fixed
Status: assignedclosed

comment:3 Changed 14 years ago by (none)

Milestone: 1.2.2

Milestone 1.2.2 deleted

comment:4 Changed 13 years ago by paul

Milestone: 1.5
Note: See TracTickets for help on using tickets.