@Steve:

I agree that there shouldn't be a "var mainMenu" in a function scope
if it is to be used elsewhere. However, I've had a quick search, and
from what I've found if you "var" something in global scope it becomes
global (and thus available in all other scopes, such as in a domready
function). Perhaps I am still confused...

Michal.


On Dec 17, 2:29 pm, stratboy <[email protected]> wrote:
> Yes Michael, that's a solution I think. I was just trying a similar
> thing adding mainMenu as a window property and it worked:
>
> window.addEvent('domready', function() {
>         window.mainMenu = new Menu({ menuId:'menu', type:'bar',
> props:mainMenu });
>
> });
>
> anyway, probably your suggestion is more efficient, couse that way I
> don't touch the window object :)
>
> Anyway, the thing that still remains quite strange to me, is that the
> first version I posted worked right in Safari and FF, and the problem
> is only with IE. Mmm... Maybe it's not a thing  so strange..
>
> On 17 Dic, 15:22, Michal <[email protected]> wrote:
>
> > Perhaps I've got the var thing a bit confused, but I would put
>
> > var mainMenu;
>
> > in the global scope, and then all later references to mainMenu should
> > refer to that.
>
> > Michal.
>
> > On Dec 17, 2:12 pm, "Steve Onnis" <[email protected]> wrote:
>
> > > silly question....
>
> > > which file is being included first?
>
> > > -----Original Message-----
> > > From: [email protected]
>
> > > [mailto:[email protected]] On Behalf Of stratboy
> > > Sent: Thursday, 18 December 2008 1:11 AM
> > > To: MooTools Users
> > > Subject: IE(6) and variables in domready
>
> > > Hi! I've got a little problem with domready in ie6:
>
> > > window.addEvent('domready', function() {
> > >         //no var key, so mainMenu should be global
> > >         mainMenu = new Menu({ menuId:'menu', type:'bar',
> > > props:mainMenu });
> > > });
>
> > > later, in another .js, file
>
> > > window.addEvent('domready', function() {
> > >         mainMenu.setStartButton({ mainIndex:6, subIndex:6,
> > > openSub:true });
> > > });
>
> > > Safari and Firefox  are just happy, but IE6 (don't know IE7) says that
> > > mainMenu is not defined.
>
> > > This seems to be a mootools 1.2.1 issue, since in another site using
> > > 1.2.0, the same classes with the same methods work fine in IE6.
>
> > > Any idea? Is that maybe the two domready don't execute in sequence?
>
> > > If can be of help, I can post links to pages.
>
> > > Bye!

Reply via email to