Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    148

    [jQuery]Div sparisce completamente con slideUp

    Ciao a tutti, sto applicando un effetto ad un div con jquery:
    codice:
    $(document).ready(function(){
    	var ricerca = $(".ric");
    	var avanzata = $("div#avanzata");
    	avanzata.hide();
    	ricerca.css("cursor","pointer").click(function(){ 
    		if (avanzata.is(':hidden')) {
    			ricerca.html(">Ricerca base");
    			$("div#ricerca").slideDown("slow").css("height","280px");
    		} else {
    			ricerca.html(">Ricerca avanzata");
    			$("div#ricerca").slideUp("slow").css("height","200px");
    		}
    		avanzata.slideToggle("slow");
    	});
    });
    dove quando clicco ed il div scende, tutto ok, si ferma all'altezza che gli ho impostato.
    Quando clicco per farlo risalire, non mi calcola il parametro .css che gli do e mi scompare tutto il div....
    Dove sbaglio?
    Scusate se chiedo per la cretinata più assurda....ma non capisco dove sbaglio.
    Grazie ciao

  2. #2
    ciao, se ho capito cosa vuoi fare, per farla con lo slideup dovresti, credo, giocare con position relative, absolute, overflow vari.
    perchè non provi ad usare l'animate?

    codice:
    $(document).ready(function(){
    	var ricerca = $(".ric");
    	var avanzata = $("div#avanzata");
    	avanzata.hide();
    	ricerca.css("cursor","pointer").click(function(){ 
    		if (avanzata.is(':hidden')) {
    			ricerca.html(">Ricerca base");
    			$("div#ricerca").animate({
                                height: 280
                            }, 500);
    		} else {
    			ricerca.html(">Ricerca avanzata");
    			$("div#ricerca").animate({
                                height: 200
                            }, 500);
    		}
    		avanzata.slideToggle("slow");
    	});
    });
    Davide

  3. #3
    Se usi slide è chiaro che lo apre e lo chiude, come ti hanno già consigliato devi usare animate.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    148
    Grazie per l'indicazione dell'animate.
    In realtà ho risolto così:
    codice:
    $(document).ready(function(){
    	var ricerca = $(".ric");
    	var avanzata = $("div#avanzata");
    	avanzata.hide();
    	ricerca.css("cursor","pointer").click(function(){ 
    		if (avanzata.is(':hidden')) {
    			ricerca.html(">Ricerca base");
    		} else {
    			ricerca.html(">Ricerca avanzata");
    		}
    		avanzata.slideToggle("slow");
    	});
    });
    e togliendo il width al css del div ricerca, in questo modo funziona alla perfezione.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.