Změna chování ->Toggle() … mohl by nastavovat class namísto style?
- ic
- Člen | 430
Zdravím… nedá se nějak změnit chování Toggle? Myslím to, jak
skrývá formulářové prvky.
Teď to funguje tak, že se nastaví style="display: none;"
té
skupině prvků, která nemá být vidět.
Mě se ale nelíbí to display: none
, co kdybych chtěl
například visibility: hidden
, aby se zachovalo místo pro
zobrazované prvky?
Ideální by myslím bylo, pokud by šlo nastavit atribut
class="neco"
. Protože jsem si jako šablonu připravil úžasné
css3 efekty přechodu (pomocí form
input[type="checkbox"]:checked ~ div.obsahujici-formulare{/*něco*/}
a
form input[type="checkbox"] ~ div.obsahujici-formulare{/*něco jiného*/}
),
kterými se formulář objeví a zase zmizí, pak napojil toggle, který má jen
display: none
, takže bylo vlastně po efektech.
- Casper
- Člen | 253
Mělo by stačit změnit metodu toggle, v jednom projektu používám toto:
// netteFormsCustomToggle.js
Nette.toggle = function(id, visible) {
var elem = document.getElementById(id);
if (elem) {
if(jQuery){
visible ? $(elem).slideDown() : $(elem).slideUp();
} else {
elem.style.display = visible ? '' : 'none';
}
}
};
Úprava na změnu classy by neměl být problém.