Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   перезагрузка страницы при img.src="xxxx" (https://javascript.ru/forum/misc/9442-perezagruzka-stranicy-pri-img-src%3D-xxxx.html)

weqq 17.05.2010 11:37

перезагрузка страницы при 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">&nbsp;</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 делает? и почему!? спасибо!!!

Gvozd 17.05.2010 11:46

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

weqq 17.05.2010 11:52

ага, сори, исправляюсь!...

Gvozd 17.05.2010 12:01

не могу уследить в чем тут проблема конкретно
не вижу повода для 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();
    })
});

weqq 17.05.2010 12:12

а img.onload не загрузку картинки определяет? если так то это не помогает... я тоже в упор не вижу почему он перезагружается. переименовал все классы а он "кю" все туда же..

Gvozd 17.05.2010 12:30

Цитата:

Сообщение от weqq
а img.onload не загрузку картинки определяет?

это обработчик события полной загрузки картинки
ты уверен, что больше у тебя никаких кодов на странице нет?
выложи полный вариант собранной страницы на хостинг, или хотя бы архивом(вместе с картинками)

weqq 17.05.2010 13:25

спасибо GVOZD, косяк был в подгружаемых в шаблоне скриптах...

Gvozd 17.05.2010 13:51

говорил же)

weqq 17.05.2010 14:02

да спасибо!! у меня уже моск вынялся от такой непонятки )

weqq 17.05.2010 16:12

все было не так.... по прежнему не работает. по прежнему reload. перенес все на локалку ничего лишнего. только то что в первом посте. HEEEELLLLPPP!!!!!!!

img.onload в IE7 не отрабатывается


Часовой пояс GMT +3, время: 04:54.