Autor Zpráva
Guteres
Profil
Ahoj lidičky, toto je můj první příspěvek, snad mě neukamenujete, jestli budu mít něco špatně. Příště se polepším případně :)

Mám takový problém. Jedná se výhradně o menu.

Když kliknu na odkaz v menu, tak se mi menu rozbalí, ale také se mi posune celá stránka. Zjistil jsem, že to je tím, že se odkazuji href="#bo1", takže se mi to posune na odkazovaný div#bo1 a menu tím pádem nejde vidět.

Jak by to šlo upravit v Jquery? Případně, kdyby nešlo v odkazu vidět webolomouc.cz/eda/#bo1 ale jenom klasicky webolomouc.cz/eda

Klidně mi můžete doporučit lepší řešení, s tímto menu nemám moc zkušenosti.

Jinak

$(".trigger").click(function(){
    var divToToggle = $( $(this).find("a").attr('href') );
    
    $(".toggle:visible").not(divToToggle).hide();
    divToToggle.fadeToggle("slow");
  });

Nejde o žádnou zakázku (písma původní). Spíše je to projekt, na kterém se učím novým věcem a že jich tam je!!! :)

webolomouc.cz/eda


Děkuji za každou pomoc kolegové :)
Chamurappi
Profil
Reaguji na Guterese:
Zjistil jsem, že to je tím, že se odkazuji href="#bo1"
Což děláš proč? Zneužíváš href na předání informace do skriptu? Pochopil bych, kdyby to bylo kvůli funkčnosti bez JS, ale tu vůbec neřešíš.
Zabránit výchozí akci kliknutí jde pomocí return false.

Klidně mi můžete doporučit lepší řešení
Proč při kliku složitě vyhledáváš všechny .toggle:visible? Může být viditelný jiný, než který si na řádku 5 zobrazíš? Proč si ten jeden zobrazený neukládáš do nějaké proměnné?

var divToToggle = $( $(this).find("a").attr('href') );
Tohle mi přijde divné. Kdyby v odkazu byl href="<audio src='hudba.mp3' autoplay>", tak začne při vykonání tohoto řádku hrát hudba, ne?
Guteres
Profil
A jak to tedy odstranit aby se to neodkazovalo ten href? Moc děkuji za pomoc

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0