2013-06-24 7 views
14

nach links i bin neu in JQ ich dieses Skript habe ich im Internet gefunden und sein genau das tun, was ich brauche , aber ich möchte das Gleiten von rechts nach links sein wird, wie kann ich tun es? bitte helfenslideToggle JQuery rechts

Dies ist der Code

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> 
<script type="text/javascript"> 

$(document).ready(function(){ 

     $(".slidingDiv").hide(); 
     $(".show_hide").show(); 

    $('.show_hide').click(function(){ 
    $(".slidingDiv").slideToggle(); 
    }); 

}); 

</script> 
<style> 

.slidingDiv { 
    height:300px; 
    background-color: #99CCFF; 
    padding:20px; 
    margin-top:10px; 
    border-bottom:5px solid #3399FF; 
} 

.show_hide { 
    display:none; 
} 
</style> 
</head> 

<body> 

<div class="slidingDiv"> 
Fill this space with really interesting content. <a href="#" class="show_hide">hide</a></div> 
<a href="#" class="show_hide">Show/hide</a> 
+0

Ich habe eine Antwort hinzugefügt, bitte werfen Sie einen Blick. –

Antwort

19

Sie können diese additional effects as a part of jQuery-ui mit tun

$('.show_hide').click(function() { 
    $(".slidingDiv").toggle("slide"); 
}); 

Test Link

+6

[Sie können auch 'direction: 'right'' dazu setzen] (http://jsfiddle.net/Spokey/qEjXj/5 /) – Spokey

+1

Dies, zusammen mit der Richtungsoption, ist die beste Antwort. –

11

Try this:

$(this).hide("slide", { direction: "left" }, 1000); 

$(this).show("slide", { direction: "left" }, 1000);

+2

Oder Sie können dieses große Tutorial lesen: http: //www.learningjquery.com/2009/02/slide-elements-in-different-directions –

+5

Dies erfordert jQuery UI –

4

Ich weiß, es ist ein Jahr her, seit das gefragt wurde, aber nur für Leute, die diese Seite besuchen werden, posten ich meine Lösung.

Durch die Verwendung von was @Aldi Unanto hier vorgeschlagen ist eine vollständigere Antwort:

jQuery('.show_hide').click(function(e) { 
    e.preventDefault(); 
    if (jQuery('.slidingDiv').is(":visible")) { 
     jQuery('.slidingDiv').stop(true,true).hide("slide", { direction: "left" }, 200); 
    } else { 
     jQuery('.slidingDiv').stop(true,true).show("slide", { direction: "left" }, 200); 
    } 
    }); 

Zuerst habe ich den Link von etwas zu tun auf Klick verhindern. Dann füge ich einen Haken, ob das Element sichtbar ist oder nicht. Wenn sichtbar, verstecke ich es. Wenn ich es ausgeblendet habe, zeige ich es. Sie können die Richtung von links oder rechts und die Dauer von 200 ms auf alles ändern, was Sie möchten.

Edit: Ich habe auch

.stop(true,true) 

um clearQueue und jumpToEnd. Read about jQuery stop here

4

Bitte versuchen Sie diesen Code

$(this).animate({'width': 'toggle'}); 
+2

Dieser Code führt nur zur Verwendung von jQuery UI. Alle Standardoptionen du hast ist ‚langsam‘ und ‚schnell‘ –

+2

Futhermore, wird dieser Code einen Syntaxfehler werfen als 'animate' Parameter sollten als Objekt übergeben werden (Sie verpassen die' {} '). – vard

+1

Dies wäre eine bessere Antwort, wenn es eine Erklärung mit dem Code enthalten würde. –

0

umfassen JQuery und JQuery UI-Plugins und versuchen, diese

$("#LeftSidePane").toggle('slide','left',400); 
2

dieses Versuchen

$('.slidingDiv').toggle("slide", {direction: "right" }, 1000); 
0

Ich würde vorschlagen, dass Sie die folgenden CSS

.showhideoverlay { 
    width: 100%; 
    height: 100%; 
    right: 0px; 
    top: 0px; 
    position: fixed; 
    background: #000; 
    opacity: 0.75; 
} 

Sie können dann eine einfache Umschaltfunktion verwenden:

$('a.open').click(function() { 
    $('div.showhideoverlay').toggle("slow"); 
}); 

Dies wird das Overlay-Menü von rechts nach links angezeigt werden. Alternativ können Sie die Positionierung verwenden, um den Effekt von oben oder unten zu ändern, d. H. Verwenden Sie bottom: 0; anstelle von top: 0; - Sie werden sehen, dass das Menü von rechts unten nach unten gleitet.

1
$("#mydiv").toggle(500,"swing"); 
+3

fügen Sie bitte weitere Beschreibung –

+0

Sie für diese Code-Schnipsel danken, die eine begrenzte, schnelle Hilfe bieten könnten. A [richtige Erklärung] (https://meta.stackexchange.com/q/114762) würde seinen langfristigen Wert stark verbessern, indem sie zeigt, warum dies eine gute Lösung für das Problem ist, und wäre es sinnvoller, auf künftige Leser macht mit anderen , ähnliche Fragen. Bitte [bearbeiten] (https://meta.stackoverflow.com/posts/360251/edit) Ihre Antwort, um einige Erklärungen hinzuzufügen, einschließlich der Annahmen, die Sie getroffen haben. [ref] (https://meta.stackoverflow.com/a/360251/8371915) – user8371915

Verwandte Themen