Napisałam kod w którym dzięki ajaxowi wczytują się kolejne podstrony serwisu i można to zrobić z kilku miejsc w serwisie. Wszystko działa pięknie w Firefoxie, niestety w Chrome i Operze już nie. Pierwsze trzy div o id="bigger" działają bez zarzutu, ale kolejne trzy (wczytujące dokładnie te same podstrony, co divy wyżej) już nie.
Konsola w FF pokazuje błąd: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsITaskbarTabPreview.invalidate] - nie znalazłam co on konkretnie oznacza, ale nie odnosi się do napisanego przeze mnie kodu i nie przeszkadza w funkcjonownaiu strony. Konsola Chrome nie pokazuje żadnego błędu.
Kod wygląda następująco:
<html lang="pl" xml:lang="pl" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta content="Ewa, Makowska, strony www, grafika komputerowa" name="keywords"> <link rel="Stylesheet" type="text/css" href="style.css" /> <script> /*ajax*/ function ajax(src, cont){ $.ajax({ url: src, context: document.body, success: function(responseText) { $(cont).html(responseText); $(cont).find("script").each(function(i) { eval($(this).text()); }); } }); } /*bigger div*/ /*prawdopodobnie tutaj jest problem - jquery ma pobiertać wszytkie div o id ="bigger", a pobiera tylko...*/ $(document).ready(function(){ /*...pierwsze z nich*/ $('div#bigger').click(function(){ $("#text").animate({ width: "1050px", left:"150px", padding:"0" }, 1500 ); $('#infbox').css('display','none'); }) }) /*smaller div*/ $(document).ready(function(){ $('#menu').click(function(){ $("#text").animate({ width: "650px", left: "520px", padding:'10' }, 1500, 'linear' ); $('#infbox').css('display','block'); }) }) </script> </head> <body> <div id="all"> <div id="baner"> <div id="slideshow"> <div id="slideshowWind"> <!---tutaj jest cześć z div, które działają bez zarzutu---> <div id="bigger" onClick="ajax('gallery.php', '#text')" class="slide"> <img src="img/slideshow/galler2y.png" class="img" /> </div> <div id="bigger" onClick="ajax('website.php', '#text')" class="slide"> <img src="img/slideshow/website.png" class="img" /> </div> <div id="bigger" onClick="ajax('applications.php', '#text')" class="slide"> <img src="img/slideshow/applications.png" class="img" /> </div> </div> </div> </div> <div id="cont"> <div id="teleadr"> </div> <div id="infbox"> <div id="inf"> <ul> <!---a to co jest tutaj nie chce działać, żadnej reakcji, nawet :hower ze styli css nie reaguje...---> </ul> </div> </div> <div id="text"> </div> </div> </div> </body> </html>
Nie wiem, czy źle odnosze się w jquery do wszystkich div o id#bigger - drugą wersję czyli $("div[id=bigger"]) też próbowałąm wykożystać (również nie działa w chrome i operze), czy tego po prostu nie da się zrobić i musze przekształcić kod na divy o różnych id. Z drugiej strony najbardziej dziwi mnie to że pod Chrome i Operą te trzy problematyczne divy nie wykazują żadnej reakcji, nawet na pseudoklasę :hover?
Będę bardzo wdzięczna za każde wytknięcie mi błędu :-), dzięki któremu mój kod zadziaął prawidłowo pod Chrome i Operą.