2013-03-18 1 views
6

http://jsfiddle.net/nKUgA/2/jQuery slidetoggle non funziona?

Sto solo cercando di fare un piccolo scivolo scatola giù dalle pictureControls div che agisce come un pulsante, ma slideToggle sta facendo nothing-- è appena sorta di glitch in posizione e viceversa. Leggi un ton di altre domande simili, nessuno aiutato o applicato.

$('#pictureControls').click(function(event) { 
     $('#pictureControlsMenu').slideToggle(300); 
     event.stopPropagation(); 
    }); 
+0

Sembra che si è dimenticato di inserire jQuery in quel violino . – CBroe

+0

Oh, tombola. Questo lo farebbe – Aerovistae

+0

Interfaccia utente jQuery, per il widget di scorrimento. –

risposta

11

slideToggle non funziona perché la tabella non è un elemento di blocco. Nella seguente aggiornamento Ho fatto che un elemento di blocco (invece di display: none), e poi nascosto il caricamento della pagina con jQuery ...

http://jsfiddle.net/nKUgA/4/

+1

Bello. Probabilmente una soluzione migliore della mia. – isherwood

+0

@isherwood Qualcosa di cui non ero a conoscenza fino ad ora, tbh. – Archer

+0

Funziona perfettamente. Grazie mille. Potresti gentilmente spiegare perché è necessario renderlo un elemento 'block'? I div sono intrinsecamente elementi 'block' mentre le tabelle devono essere specificate? – Aerovistae

4

Prova scorrere un div piuttosto che il tavolo:

http://jsfiddle.net/nKUgA/3/

<div id="pictureControls" onclick="" title="Picture Controls" alt="Picture Controls"> 
    <div id="pictureControlsWrapper"> 
     <table id="pictureControlsMenu"> 

Dal momento che non ero sicuro di quello che stavano facendo la funzione click HTML e l'altra cosa, li ho rimosso insieme con l'istruzione stopPropogation.

+0

Mi sembra di ricordare di aver letto un po 'di tempo fa che i tavoli non hanno reagito bene per essere ridimensionato ... Scommetto che è perché avvolgere la tabella in un div funziona, piuttosto che provare a eseguire slideToggle() direttamente sul tavolo si. –

+0

Ciò che è strano è che il team jQuery elenca questo bug come "corretto" - http://bugs.jquery.com/ticket/2185 ... è originato da problemi con elementi non a livello di blocco. –

+0

Un suggerimento appassionato e penso che tu abbia ragione sul tavolo in qualche modo, ma il movimento dell'animazione da questo codice per qualche ragione è ancora un po 'glaciale ... il metodo di Archer produce la diapositiva perfetta. – Aerovistae