перезагрузка страницы при img.src="xxxx"
#b_img{ position:absolute; background-color:#969696; display:none; } #empty,#close{ float:left; height:14px; } #empty{ width:80%; } #close{ width:20%; background-color:#FF0000; cursor:pointer; text-align:center; } function img_prc(img){ var scroll = defScroll(); if (img.complete){ $("#b_img").css({left:(getClientWidth()/2-(img.width/2)),top:((getClientHeight()/2)-(img.height/2))+scroll,height:(img.height+24),width:(img.width+7)}); $("#b_img").show(); return true } else return false; } $(document).ready(function(){ $(".s_img").bind("click", function(){ var eimg = new Image(); $("#div_img").attr("src",$(this).parents(".dv_img").children(".a_b_img").val()); var bsrc = $(this).parents(".dv_img").children(".a_b_img").val(); eimg.src = bsrc; img_prc(eimg); }) $("#close").bind("click", function(){ $("#b_img").hide(); }) }); и в HTML ( куда ставим фото ): <div id="b_img" style="left: 391.5px; top: 391.5px; height: 450px; width: 647px; display: none;"> <div class="cpnl"> <div id="empty"> </div> <div id="close">close</div> </div> <img src="/upload/iblock/53f/03_camino_fuori.JPG" id="div_img"> </div> и откуда берем : <div class="dv_img"> <input type="hidden" title="" value="/upload/iblock/fd4/04_DSCF4606.gif" class="a_b_img"> <img width="140" height="140" border="0" src="/upload/iblock/680/04s_DSCF4606.gif" class="s_img"> </div> Добрый день друзья! такой проблем - вот значиццо кликаем мы на превьюшку (".s_img"), берем адрес большой фотки $("#div_img").attr("src",$(this).parents(".dv_img" ).children(".a_b_img").val()) и на eimg.src = bsrc; страница перезагружается!!! делает она это только в первый раз для каждой отдельно взятой превьюшки. в последующие клики она спокойно отрабатывает и выводит большую картинку как и задумывалось! а вот зачем она в первый раз reload делает? и почему!? спасибо!!! |
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
ага, сори, исправляюсь!...
|
не могу уследить в чем тут проблема конкретно
не вижу повода для reload-а. возможно у вас еще где-то есть код, который и производит reload попробуйте вот такой костыль: но проблема скорее всего в другом месте, и это может выплыть уже в другой ситуации function img_prc(img){ var scroll = defScroll(); if (img.complete){ $("#b_img").css({left:(getClientWidth()/2-(img.width/2)),top:((getClientHeight()/2)-(img.height/2))+scroll,height:(img.height+24),width:(img.width+7)}); $("#b_img").show(); return true } else return false; } $(document).ready(function(){ $(".s_img").bind("click", function(){ var eimg = new Image(); $("#div_img").attr("src",$(this).parents(".dv_img").children(".a_b_img").val()); var bsrc = $(this).parents(".dv_img").children(".a_b_img").val(); //mode_start eimg.onload=function(){ img_prc(eimg); } eimg.src = bsrc; //mode_end }) $("#close").bind("click", function(){ $("#b_img").hide(); }) }); |
а img.onload не загрузку картинки определяет? если так то это не помогает... я тоже в упор не вижу почему он перезагружается. переименовал все классы а он "кю" все туда же..
|
Цитата:
ты уверен, что больше у тебя никаких кодов на странице нет? выложи полный вариант собранной страницы на хостинг, или хотя бы архивом(вместе с картинками) |
спасибо GVOZD, косяк был в подгружаемых в шаблоне скриптах...
|
говорил же)
|
да спасибо!! у меня уже моск вынялся от такой непонятки )
|
все было не так.... по прежнему не работает. по прежнему reload. перенес все на локалку ничего лишнего. только то что в первом посте. HEEEELLLLPPP!!!!!!!
img.onload в IE7 не отрабатывается |
Часовой пояс GMT +3, время: 04:54. |