Jak změnit chování flash message
- Petrik.a.dost
- Člen | 72
Dobrý den,
PHP 5.3.24
Microsoft-IIS 8.0
Nette Framework 2.1-dev
chtěl bych se zeptat jak změnit chování flashMessage, chci aby se mi po objevení třídy flash flashzpravička sjela pomocí slideDown, ale nevím jakou akci to navázat a jak zachitit třídu flash.
mám na mysli neco takového:
$(".flash").ready(function(){
$(this).slideDown(500);
});
ready, samozřejmě funguje jen na body nebo img, takže nevím jak zachitit akci „objevení flashMessage“ aby sjela dolu. Nechci to dávat na akci submit, protože bych mohl flashMessage potřebovat i při přesměrování, takže na submit to dat nemužu. Ted se mi vždy hned objeví a nezmizí.
Předem Vám děkuji za odpověď Petr.
Editoval Petrik.a.dost (14. 11. 2013 20:19)
- romiix.org
- Člen | 343
S nette to moc nesúvisí.
Iba tak od brucha, bez skúšky a testovania..
var flashes = function() {
$(".flash").slideDown(500);
};
$(document).ready(flashes); // zavesí na flashMessages po načítaní stránky
$(document).ajaxComplete(flashes); // zavesí na flashMessages načítané ajaxom
- Petrik.a.dost
- Člen | 72
ono se to nezavěsí… zkusel jsem
var flashes = function() {
$(„.flash“).slideDown(300);
console.log(„jo“);
};
$(document).ready(flashes); // zavesí na flashMessages po načítaní stránky
$(document).ajaxComplete(flashes); // zavesí na flashMessages načítané ajaxom
a log do konzole proběhne hned i když se nemá zobrazit flashMessage
- romiix.org
- Člen | 343
A vadí to? V prípade ak flash neexistuje, tak sa to nemá na zo zavesiť. Ak existuje, tak to splní funkciu. Nie je to extra čisté riešenie ale funkčné by malo byť.
- Petrik.a.dost
- Člen | 72
on ten slideDown nefunguje vubec prostě se tam flashMessage zobrazí rovnou… možná by to šlo takto ale je to takové nešikovné:
$(document).ready(function(){
if($(".flash").hasClass("ok") || $(".flash").hasClass("error") || $(".flash").hasClass("info")){
alert("jo");
}
});
- Petrik.a.dost
- Člen | 72
takto to funguje, ale ja jsem myslel nějak to udělat aby to začínalo už tím slidemDown a ne aby se to zobrazilo ja to javascriptem schoval, sjel dolu počkal a vyjel nahoru…
$(document).ready(function(){
if($(".flash").hasClass("ok") || $(".flash").hasClass("error") || $(".flash").hasClass("info")){
$(".flash").css("display", "none").slideDown(300).delay(5000).slideUp(300);
}
});
tak to to funguje ale není to nejlepší řešení, protože co když se rozhodnu přidat zalší typ zprávičky tak budu muset zase rozšiřovat podmínku a to se mi moc nelibí z hlediska udržby kódu…
- romiix.org
- Člen | 343
Načo špecifikuješ príslušnosť k tiedam cez
.hasClass("ok")
?
Robí to nejaký problém bez toho?
$(document).ready(function(){
$(".flash").slideDown(300).delay(5000).slideUp(300);
});
Skry to rovno cez CSS a nie až javascriptom.
.flash {display:none}
Prípadne zmeň šablónu a vlož tam display:none
ako
inline-style.
- Petrik.a.dost
- Člen | 72
display:none nejede, po vyvolání flashMessage je hned videt a neproběhne slideDown… ale už jsem blízko…
- Petrik.a.dost
- Člen | 72
tak už to jede jak jsem chtěl… jsem to vepsal přímo do : <div n:foreach=„$flashes as $flash“ class=„flash {$flash->type}“ style=„display:none;“>{$flash->message}</div> a jede… tak děkuji za spoluprácí a pomoc i když se to přímo na nette nevztahovalo ještě jednou Díky