2013-06-24 24 views
14

sono nuovo in JQ ho questo script che ho trovato su internet e fa esattamente quello che mi serve ma voglio che lo scorrimento sia da destra a sinistra come posso fare vero? si prega di aiutoslideToggle JQuery da destra a sinistra

questo è il codice

<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

Ho aggiunto una risposta per favore dare un'occhiata. –

risposta

19

È possibile farlo usando additional effects as a part of jQuery-ui

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

Test Link

+6

[puoi anche impostare 'direction: 'right'' ad esso] (http://jsfiddle.net/Spokey/qEjXj/5 /) – Spokey

+1

Questo, insieme all'opzione di direzione, è la migliore risposta. –

11

Prova questo:

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

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

+2

Oppure puoi leggere questo fantastico tutorial: http: //www.learningjquery.com/2009/02/slide-elements-in-different-directions –

+5

Ciò richiede jQuery UI –

4

So che è passato un anno da quando è stato chiesto, ma solo per le persone che visiteranno questa pagina pubblicherò la mia soluzione.

Utilizzando quello @Aldi Unanto suggerito qui è una risposta più completa:

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); 
    } 
    }); 

Prima posso evitare il collegamento di fare qualcosa al clic. Quindi aggiungo un controllo se l'elemento è visibile o meno. Quando visibile lo nascondo. Quando nascosto lo mostro. Puoi cambiare la direzione verso sinistra o destra e la durata da 200 ms a qualsiasi cosa tu voglia.

Edit: Ho anche aggiunto

.stop(true,true) 

per clearQueue e jumpToEnd. Read about jQuery stop here

4

Si prega di provare questo codice

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

Questo codice non fa nulla a meno che non si usi l'interfaccia utente di jQuery. Tutte le opzioni predefinite che hai sono 'lente' e 'veloci' –

+2

Inoltre, questo codice genererà un errore di sintassi poiché i parametri 'animate' dovrebbero essere passati come un oggetto (ti manca il' {} '). – vard

+1

Questa sarebbe una risposta migliore se includesse una spiegazione insieme al codice. –

0

includono jQuery e jQuery UI plugin e provare questo

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

Prova questa

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

vorrei suggerire di utilizzare il seguito css

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

È quindi possibile utilizzare una semplice levetta funzioni:

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

Verrà visualizzato il menu di sovrapposizione da destra a sinistra. In alternativa, puoi utilizzare il posizionamento per modificare l'effetto dall'alto o dal basso, ovvero utilizzare bottom: 0; anziché top: 0; - vedrai scorrere il menu dall'angolo in basso a destra.

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

per favore aggiungi altra descrizione –

+0

Grazie per questo snippet di codice, che potrebbe fornire un aiuto limitato e immediato. Una [spiegazione corretta] (https://meta.stackexchange.com/q/114762) migliorerebbe notevolmente il suo valore a lungo termine, mostrando perché questa è una buona soluzione al problema e renderebbe più utile ai futuri lettori con altri , domande simili. Per favore [modifica] (https://meta.stackoverflow.com/posts/360251/edit) la tua risposta per aggiungere qualche spiegazione, incluse le ipotesi che hai fatto. [Ref] (https://meta.stackoverflow.com/a/360251/8371915) – user8371915

Problemi correlati