Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: ZAJDAN 25. 10. 2017, 14:49:32
-
Ahoj...
zrovna resim jeden "problem"
mam html kde je nekolik kontajnerů div, ktere maji attribut display: none a pomocí JS kliknutim na příslušný element <button> menim atrribut display na block(zobrazuji)
jak ale zpracovat url odkazujici na kotvu v kontajneru ktery je defaultne nezobrazen
pokud zakaznik skoci na link:
http://www.neco.cz/nejakaSekce#kotva6
sekce se nezobrazi, protoze nedoslo ke kliknuti na patricny button, ktery vyvola js pro zmenu atributu
díky za tipy
-
Javascriptom po nacitani dokumentu zobrazit skryty div
-
Pokud jsou odkazy v textu s kotvou nahodne a nelze na ne napojit click pri renderovani, zbyva napojit click nejlepe pomoci delegate na vsechny tagy A. Pri kliknuti pak kontrolovat, zda closest DIV (kontejner) ma display:none. Mozna ani neni potreba kontrolovat a proste vzdy nastavit display:block. Predpoklada to, ze sekce jsou oznaceny nejakou tridou (.section)
$(body).on('click', 'a', function()
{
$(this).closest('.section').css('display', 'block');
});
-
Pokud jsou odkazy v textu s kotvou nahodne a nelze na ne napojit click pri renderovani, zbyva napojit click nejlepe pomoci delegate na vsechny tagy A. Pri kliknuti pak kontrolovat, zda closest DIV (kontejner) ma display:none. Mozna ani neni potreba kontrolovat a proste vzdy nastavit display:block. Predpoklada to, ze sekce jsou oznaceny nejakou tridou (.section)
$(body).on('click', 'a', function()
{
$(this).closest('.section').css('display', 'block');
});
ufff ...zatim mi to hlava nebere, ale zkusim se nad tvou myslenkou dele zamyslet
díky
-
Pokud jsou odkazy v textu s kotvou nahodne a nelze na ne napojit click pri renderovani, zbyva napojit click nejlepe pomoci delegate na vsechny tagy A. Pri kliknuti pak kontrolovat, zda closest DIV (kontejner) ma display:none. Mozna ani neni potreba kontrolovat a proste vzdy nastavit display:block. Predpoklada to, ze sekce jsou oznaceny nejakou tridou (.section)
$(body).on('click', 'a', function()
{
$(this).closest('.section').css('display', 'block');
});
ufff ...zatim mi to hlava nebere, ale zkusim se nad tvou myslenkou dele zamyslet
díky
to je dobre, protoze je to spatne, jsem to nedomyslel :) jinak.. sekce primo ma nebo obsahuje ten element s id (kotvy), takze
$(body).on('click', 'a', function()
{
var id = $(this).attr('href').split('#').pop(); // ziskat identifikator elementu z url
$('#' + id).closest('.section').css('display', 'block'); // dohledat nadrizenou sekci k tomu odkazovane elementu a zobrazit
});
netestoval jsem
-
...
slo by jako kotvy pouzit id tech jednotlivych divů a na element <a> se vyprdnout ?
-
...
slo by jako kotvy pouzit id tech jednotlivych divů a na element <a> se vyprdnout ?
i kdyz bude kotva odkazovat primo na skryty element, tak display se odkazem nezmeni..
ale ten opraveny kod co jsem posilal by mel fungovat, pokud by kotva odkazovala primo na .section element, tak closest funkce jquery jej preskoci, ale staci doplnit radek...
$(body).on('click', 'a', function()
{
var id = $(this).attr('href').split('#').pop();
$('#' + id).closest('.section').css('display', 'block');
$('#' + id + '.section').css('display', 'block');
});
-
diky opilio, ale napadlo me jedno elegantni reseni:
if ( document.URL === 'http://www.neco.cz/fr/products-fr#products-benches') {
$("#button-1").click();
}
pokud by se za provozu objevovali problemy zkusim tvoje reseni
díky
-
nebylo by jednodussi vzdy zobrazovat podle kotvy v url?
function show() {
$('#' + location.hash).css('display', 'block'); // nebo zobrazit neco jineho podle potreby
}
$('a').click((e) => show());
show();
-
nebylo by jednodussi vzdy zobrazovat podle kotvy v url?
function show() {
$('#' + location.hash).css('display', 'block'); // nebo zobrazit neco jineho podle potreby
}
$('a').click((e) => show());
show();
taky pekne reseni ...diky