2009-07-15 12 views
0

Ich habe ein Menü div die Menüliste innerhalbjquery slideToggle Position

// here is the javascript/jquery 
 

 
$('#menu-tab').click(function(){ 
 
    $("#menu").slideToggle("normal"); 
 
});
/* for the css */ 
 

 
    #menu { 
 
     width: 220px; 
 
     border: 2px solid #004990; 
 
     float: right; 
 
     margin-right: 15px; 
 
     margin-top: -52px; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
 

 
    <!--menu--> 
 
\t \t <a href="#"><div id="menu-tab">Menu</div></a> 
 
\t \t <div id="menu"> 
 
\t \t \t <ul> 
 
\t \t \t \t <li><a href="#">a</a></li> 
 
\t \t \t \t <li><a href="#">b</a></li> 
 
\t \t \t \t <li><a href="#">c</li> 
 
\t \t \t </ul> 
 
\t \t </div>

becuase margin-top zu setzen: -52px, (die ich die Menüposition in der Seite zu steuern), Jedes Mal, wenn ich auf die Menü-Registerkarte klicke, wird das #menu von -52px verschoben. Wie kann ich es von 0px gleiten lassen?

+4

'

' ... ernsthaft? – peirix

Antwort

0

Haben Sie versucht, den Stil zu ändern, bevor Sie ihn animieren? Stellen Sie den Rand des Rands direkt vor dem Verschieben auf Null.

$('#menu-tab').click(function(){ 
    $("#menu").css("margin-top","0px"); //this should set your menudiv to margin-top:0px 
    $("#menu").slideToggle("normal"); 
}); 
+0

der reson verwende ich margin-top: -52px; dient zur Festlegung der Position des Menüs auf der Seite. Wenn ich ihn auf Null zurückstelle, wird auch die Position des Menüs geändert. – skargor

+0

Na dann ist das Menü schon in der richtigen Position? Warum sollten Sie dann wollen, dass es von Rand oben gleitet: 0px? Vielleicht könntest du einen Screenshot oder etwas hochladen, weil ich aus dem, was du jetzt fragst, keinen Sinn machen kann. – Peter

Verwandte Themen