Hi all
есть скрипт который подгружает изображения на страничку через определнное время, работает везде кроме IE(ни 6, ни 7, ни 8 не работает), НО неработает только на хостинге, в локале все замечательно
сам код
| Код | var galItems = new Array(); var galSleep = 3000; var preloadSleep = 500; var sleep, galTimer;
//alert(location);
function preload_image(img_url, i) { var img = $('#pre' + i); img.attr('src', img_url); sleep = setInterval('check_preload(' + i +')', preloadSleep); }
function check_preload(i) { var img = $('#pre' + i); clearInterval(sleep); if(img.attr('complete') == true){ gallary_fade(i); } else { sleep = setInterval('check_preload(' + i +')', preloadSleep); } }
function fade_next(i){ if(i < galItems.length) { var img_url = galItems[i].url; preload_image(img_url +'?pv=1', i); } else { galItems = new Array(); galTimer = setTimeout('gallary_random(0)', galSleep); } }
function gallary_facebox() { $('a[@rel*=gal]').facebox({ loadingImage: '/view/images/loader.gif' }); }
function gallary_fade(i) { var obj = $('#gal' + i).find('img'); var anch = $('#gal' + i).children('a'); var img_url = galItems[i].url; //$('#info').text('before ' + anch.attr('href')); obj.fadeOut(1000, function(){ anch.attr('href', img_url); if ($.browser.msie) { var gimg = document.getElementById('gimg' + i);
gimg.src = ''; gimg.src = img_url + '?pv=1'; // ВОТ ЗДЕСЬ КОСЯК в IE(причем только на хостинге)!!!!!!!!!!!!!!! } else { obj.attr('src', img_url + '?pv=1'); } obj.fadeIn(1000, function(){ fade_next(++i); }); }); }
function gallary_random(f) { var gl = $('#gal_random'); var url = '/gallary/random'; if (f) { $.getJSON(url, function(data){ //gl.append('<span id="info"> </span>'); $.each(data.items, function(i, item){ gl.append( '<img class="pre" id="pre' + i + '" alt="" />' + '<div class="gal" id="gal' + i +'">' + '<a rel="gal" href="' + item + '">' + '<img id="gimg' + i + '" src="' + item + '?pv=1" width="150" height="150" alt="" />' + '</a></div>' ); }); gallary_facebox(); galTimer = setTimeout('gallary_random(0)', galSleep); }); } else { $.getJSON(url, function(data){ $.each(data.items, function(i, item){ var galItem = { url: item }; try{ galItems.push(galItem); } catch(err) { alert(err.description); } }) preload_image(galItems[0].url + '?pv=1', 0); }); } } ... $(document).ready(function(){ gallary_random(1); });
|
мозг уже кипит я думаю может просто какие-то приколы с безопасностью |