Closed
Bug 249922
Opened 20 years ago
Closed 20 years ago
Movie Theater marquee doesn't scroll properly; it vibrates
Categories
(Core :: Layout: Positioned, defect)
Core
Layout: Positioned
Tracking
()
RESOLVED
DUPLICATE
of bug 201897
People
(Reporter: developers, Unassigned)
References
()
Details
(Keywords: regression, testcase)
Attachments
(3 files)
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040626 Firefox/0.9.1
Open the main page in both Internet Explorer and in FireFox. Notice the
intended behaviour in IE, with FireFox having problems -- What seems to be the
problem here? Is it the page fault or Mozilla fault?
Reproducible: Always
Steps to Reproduce:
1. Open the main page in both Internet Explorer and in FireFox.
2. Notice the intended marquee scroll behaviour in IE, and vibrating images in
FireFox. (JavaScript powered marquee)
Actual Results:
Vibrating images in FireFox.
Expected Results:
Smooth scrolling images.
Reporter | ||
Comment 1•20 years ago
|
||
The link of offending JavaScript powered marquee is:
http://www.famousplayers.com/Default.asp?&noredirect=true&noredirect=true
Comment 2•20 years ago
|
||
Reporter: please file bugs appropriately -- JavaScript Engine is only for
low-level bugs to do with the JavaScript language, not things like animated
image jerkiness.
/be
Assignee: general → general
Status: UNCONFIRMED → NEW
Component: JavaScript Engine → DOM: Level 0
Ever confirmed: true
Reporter | ||
Comment 3•20 years ago
|
||
> not things like animated image jerkiness.
It's not jerkiness. The animation DOES NOT even happen :( -- it just
vibrates "in-place" back and fourth.
So, it is a fundamental bug *somewhere*. Maybe it's FamousPlayer's fault, but
I checked the JavaScript, so my suspicions is now Mozilla Firefox's fault.
Comment 4•20 years ago
|
||
Worksforme in Fx 0.8. Someone please confirm?
/be
Reporter | ||
Comment 5•20 years ago
|
||
If it works in 0.8, then there's a problem with 0.9.1 which I use.
Can someone else confirm problem exists in 0.9.1?
Reporter | ||
Comment 6•20 years ago
|
||
I just tested in my old copy of Netscape 6. Works perfectly.
Ok, it seems like it is more probably a FireFox 0.9.1. problem (the exact
version is pasted in the above). My guess from my programmer mind is 90%
probability it's a FireFox bug rather than an obscure JavaScript behaviour.
(Note to others: If you're greeted to select the language; go past this
language-selection screen first to see the scrolling movie marquee of this
theaters site.)
Reporter | ||
Comment 7•20 years ago
|
||
Addendum: Works perfectly in Netscape 7, too. I think I've tried out all the
browsers I have handy here.
Comment 8•20 years ago
|
||
I see this problem in a Mozilla build from a few months ago. Not likely to be a
Firefox only problem...
Comment 9•20 years ago
|
||
Interesting. This regressed between 2003-12-21-09 and 2003-12-22-09. The
culprit was the fix for bug 227567, which gave some things that used to have a
zero clientWidth a positive one. As a result, the page's code that does:
this.width = (this.el.clientWidth)? this.el.clientWidth: (id &&
document.getElementById && document.getElementById(id).offsetWidth)?
document.getElementById(id).offsetWidth: (this.el.offsetWidth)?
this.el.offsetWidth: (this.css.clip.width)? this.css.clip.width: 0;
(in http://www.famousplayers.com/js/dw_scroll.js) started using the (newly
nonzero) clientWidth instead of offsetWidth; in this case it looks like the
clientWidth is 429px while the offsetWidth is 1418px. So the behavior changes
quite a bit.
Now the question is, why does this work in IE? The code doesn't explicitly
browser-sniff as far as I can tell....
Component: DOM: Level 0 → DOM: Mozilla Extensions
Keywords: regression
OS: Windows XP → All
QA Contact: pschwartau → ian
Hardware: PC → All
Comment 10•20 years ago
|
||
The "marquee" on the site is implemented purely in JS and CSS (it's not
a <marquee>), so changing Component to Layout.
Boris, yes, the site regressed as a result of bug 227567 but I think we have
the correct behaviour. The difference to IE is that abs.pos. DIVs in IE
seems to grow to fit its normal flow content. Let me illustrate with a few
testcases.
Assignee: general → nobody
Component: DOM: Mozilla Extensions → Layout
QA Contact: ian → core.layout
Comment 11•20 years ago
|
||
This is a reduced testcase for the site. The "width" is calulated using the
following order of priority:
this.el.clientWidth
this.el.document.getElementById(id).offsetWidth
offsetWidth
this.css.clip.width
Comment 12•20 years ago
|
||
This is the reason for the difference between IE/Mozilla.
In IE the abs.pos with the blue border grows to fit the table.
In Mozilla it has the width of the containing block.
It's the .clientWidth of this DIV that is used to calculate a max x-position
by the script - when it's reached the content starts scrolling in the other
direction. In Mozilla the max position is zero due to the DIVs having the
same width.
Comment 13•20 years ago
|
||
Changing the script to use this order fixes the problem:
this.el.document.getElementById(id).offsetWidth
this.el.offsetWidth
this.el.clientWidth
this.css.clip.width
Comment 14•20 years ago
|
||
Hmm... Arguably, the shrink-to-fit width should be the preferred width here,
hence wider than the containing block (per CSS2.1).
Comment 15•20 years ago
|
||
Yes, you're right and when I tried with an old patch for bug 201897 the
site worked fine. I'll see what I can do...
Comment 16•20 years ago
|
||
*** This bug has been marked as a duplicate of 201897 ***
You need to log in
before you can comment on or make changes to this bug.
Description
•