mam taki kod javascript :
var xhrRequest = null; $("div.data a").live("mouseenter",function(){ $("#dvloader").show(); $("div.data a").css("color", "gray"); $(this).css("color", "black"); if (!$(this).data('init')) { $(this).data('init', true); $(this).hoverIntent(function(){ /* mouseover logic */ var self = $(this); setTimeout(function(){ //Stop xhr if there is one if (xhrRequest) try { xhrRequest.abort(); $("#dvloader").hide(); } catch (e) {} //Save XHR object xhrRequest = $('#foto').load('gallery.php', { 'dir':self.parent('div.data').attr('rel'), 'kategory':self.parent('div.data').attr('value'), 'gallery':'no'}, function() { //$(this).hide().fadeIn(500); $("#dvloader").hide(); }); $move_by = 600; $frame_left = 0; $frame_no = 1; }, 10); return false; }, function(){ /* mouseout logic */ }); $(this).trigger('mouseover'); } });
No i działa to mniej wiecej tak, że jak najezdzam na jakiś odnośnik, to ładuje mi się zdjęcie do diva (idzie request na serwer), jeśli zaś zjadę myszką z tego odnośnika, to zdjęcie ma się przestać ładować a preloader ma zniknąć.
No i teraz dwa problemy, po pierwsze za każdym razem jak najezdzam na odnośnik to dostaje uncought exception, a druga sprawa to taka, że $("#dvloader) nie za każdym razem się ukrywa, jak szybko przejadę przez odnośniki to loader zostaje i cały czas jest wyświetlony.
Jakie macie propozycje rozwiazania tego zaganienia ?
Edit-------------------
Problem z pozostającym preloaderem rozwiązałem, pozostaje jeszcze kwestia exception....