Thanks, you are right, it works. However, I tried the solution which saves the stat but i wasn't able to solve the problem, I made it even worse...
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="./module/prototype.js" type="text/javascript"></script> <script src="./module/scriptaculous.js" type="text/javascript"></ script> <script type="text/javascript"> document.observe("dom:loaded", function(ev) { ausgefahren = 0; $('aeusseresmenue').observe('mouseover', function(ev) { if (ausgefahren == 0) { new Effect.Move(this, {x:0, y:50, duration:0.2, mode: "absolute",}); ausgefahren = 1 } }); $('aeusseresmenue').observe('mouseout', function(ev) { if (ausgefahren == 1) { new Effect.Move(this,{x:-200, y:50, duration:0.2, mode: "absolute", }); ausgefahren = 0; } }); }); </script> <link rel="stylesheet" href="./stylesheets/reset.css" type="text/css" / > </head> <body> <div id="aeusseresmenue" style="background: #0c0; width: 230px; height: 400px; position: absolute; left: -200px; top: 50px;"> <div id="inneresmenue" style="background: #000; width: 200px; height: 400px;"> Hallo Welt </div> </div> </body> </html> Can you see the wrong part? Mario On 15 Feb., 12:09, timbob <timm.glo...@gmail.com> wrote: > The problem is that you are triggering a mousemove event _every_ time > you move the mouse within the <div>, and every single time you create > a Move effect. > So when you leave the <div> there is a mouseout event and also the > mousemove event from your last mouse movement. > > The flickering you see is the interference of the two created move > effects. Since script.aculo.us renders all ongoing effects "in > parallel", unless you specify otherwise. > > As a workaround you could use an extra Event.Queue for your menu, and > limit the effects in the queue to only one at a time. > This is a bit dirty, but it works sort of. Of course you can mess > things up if you move your mouse very fast (depending on the effects > duration) in and out of the <div>. > > It maybe better to save the state of the "menue" somewhere and check > that before creating a new effect. > > <html> > <head> > <script type="text/javascript" src="prototype.js"></script> > <script type="text/javascript" src="effects.js"></script> > <script type="text/javascript"> > document.observe("dom:loaded", function(ev) { > $('aeusseresmenue').observe('mouseover', function(ev) { > new Effect.Move(this, {x:0, y:50, duration:0.2, mode: > "absolute", queue : {scope : 'myscope', limit : 1}}); > }); > $('aeusseresmenue').observe('mouseout', function(ev) { > new Effect.Move(this,{x:-200, y:50, duration:0.2, mode: > "absolute", queue : {scope : 'myscope', limit : 1}}); > }); > }); > </script> > </head> > <body> > <div id="aeusseresmenue" style="background: #0c0; width: 230px; > height: 400px; position: absolute; left: -200px; top: 50px;"> > <div id="inneresmenue" style="background: #000; width: 200px; > height: 400px;"> > Hallo Welt > </div> > </div> > </body> > </html> > > On 13 Feb., 17:20, Mario <sevenartwo...@googlemail.com> wrote: > > > Hi there, > > > I'd like to move a <div> container which is mostly hidden left of the > > screen (width is 230px, left is -200px so you can only see the right > > border) into the screen and back by using the event handlers > > onmouseover and onmouseout. > > > It works already but not perfect: By leaving the <div> box the > > container shortly flickers in the middle again for some mili seconds. > > Can anybody help me? > > > <body> > > > <div id="aeusseresmenue" style="background: #0c0; width: 230px; > > height: 400px; position: absolute; left: -200px; top: 50px;" > > onmousemove='new Effect.Move(this,{x:0, y:50, duration:0.2, mode: > > "absolute"});' onmouseout='new Effect.Move(this,{x:-200, y:50, > > duration:0.2, mode: "absolute"});'> > > <div id="inneresmenue" style="background: #000; width: 200px; height: > > 400px;"> > > Hallo Welt > > </div> > > </div> > > > </body> > > > Thanks, Mario. > > > PS: I already tried to use onmouseover instead of onmousemove, but > > then i had the problem of recalling the move in all the time. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---