Autor Zpráva
miskith
Profil
Dobrý den,
mám takový problém. Udělal sem si JQuery script. Asi ve všech prohlížečích funguje, jen IE opět nepřekvapil. V IE script funguje pouze během načítání stránky (stahování obsahu webu), ale jakmile se celý web načte, JQuery úplně chcípne a udělá, jako by vůbec nenaběhl (Ve scriptu mám například, aby se zobrazily ikonky pro změnu pozadí. Ty se během načítání zobrazí i pozadí jde během načítání měnit (Na to mám v JS jinou funkci, taky přes JQuery), ale jak se načte stránka, ikonky zase zmizí).
Problém bude asi v:
$(function() {});

Jenže nevím, čím to nahradit aby to fungovalo. Zkoušel sem i document.ready a taky nic.

Všem děkuji za pomoc.
$(function()
{   
    $(".change_background").show();
    $('#copyright').hide();
    $('.footer').mouseenter(function() {
        $('#copyright').fadeIn('slow');
    });
    $('.footer').mouseleave(function() {
        $('#copyright').fadeOut('slow');
    });
    
    $('#navigation').mouseleave(function() {$(".navigation").removeClass("navigation_selected");});
    $('.navigation').mouseenter(function() {$(".navigation").removeClass("navigation_selected"); $(this).addClass("navigation_selected");});
    
    $('.change_background').css({opacity: 0.5});
    $('.change_background').mouseenter(function() {$(this).animate({opacity: 1}, 500);});
    $('.change_background').mouseleave(function() {$(this).animate({opacity: 0.5}, 500);});
    $process = false;
});
miskith
Profil
Problém jsem již vyřešil. Použil jsem:
jQuery(window).ready(function() {

Tak snad to bude fungovat ve všech prohlížečích.
pcmanik
Profil
Preco tam mas toto?

$(".navigation").removeClass("navigation_selected"); $(this).addClass("navigation_selected")


Ved ty to zmazes, a hned to tam vratis.

A pozri funkciu .hover(), tu by bolo lepsie pouzit namiest mouseenter, mouseleave
miskith
Profil
pcmanik:
Ok, kouknu na hover. A to cos napsal, to mám navigaci. První funkce odstraní zvýraznění u všech položek navigace a druhá funkce označí políčko navigace, na kterém momentálně jsem.
Chamurappi
Profil
Reaguji na miskitha:
Problém jsem již vyřešil. Použil jsem
Z toho není moc patrná příčina. Načítáš snad pouze v Exploreru nějaký další framework, který způsobuje konflikt při použití $(function() {})? Jak jsi přišel na to, že zrovna v tomhle by měla být chyba? Připadá mi to celé nějaké podezřelé.

První funkce odstraní zvýraznění u všech položek navigace
Proč ne jen u té, na které je nastavená? Jednak si můžeš vyhledat rovnou $(".navigation_selected:first"), jednak je zbytečné cokoliv vyhledávat, když si objekt, kterému jsi třídu naposledy nastavil, můžeš uložit do proměnné.


Reaguji na pcmanika:
pozri funkciu .hover(), tu by bolo lepsie pouzit namiest mouseenter, mouseleave
Možná bych mu spíš doporučil obyčejnou pseudotřídu :hover v CSS.
miskith
Profil
Chamurappi:
1) Celkovým neustálým zkoušením.
2) Taky možnost, ale nakonec jsem to z důvodu grafického vzhledu předělal přes CSS na ":hover". Jen se ten hover občas sekne.
3) Viz 2).

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