 
			
				07.05.2013, 13:17
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.03.2013 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				появление картинки
			 
			
		
		
		
		Есть менюшка с картинками,при наведении на картинку в другом месте возникает её увеличенная копия,при потере курсора копия уменьшается и исчезает. 
Вопрос в том,почему появляется копия,а назад никак. 
Попытался выводить alertом созданный объект(new_img),выводит аж 14 раз. 
Вот код  
	jQuery.each(img, function(){ 
	img.on("mouseover",zoom) 
	});//всем картинкам подключаю событие 
	var new_img//глобальная переменная для созданной копии 
	function zoom (event){ 
	 
	var img=$(event.target) 
	img.off("mouseover",zoom); 
	new_img=img.clone();//создаю копию той картинки на которой произошло событие 
	$("body").append(new_img); 
	new_img.css("position","fixed"); 
	new_img.css("top","100px"); 
	new_img.css("left","300px"); 
	new_img.css("height","30px"); 
	new_img.css("width","30px"); 
	new_img.css("zIndex","4"); 
	 
	 
	new_img.animate({height:300,width:300},750); 
	img.on("mouseout",zoom_out); 
	 
	}; 
	function zoom_out (event){ 
	var img=$(event.target) 
	img.off("mouseout",zoom_out); 
	new_img.animate({height:30,width:30},750); 
	new_img.remove(); 
	img.on("mouseover",zoom); 
	} 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2013, 21:21
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.03.2013 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 неужели никто ничего не подскажет 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2013, 21:25
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 I am Student 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.12.2011 
					
					
					
						Сообщений: 4,415
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Dimanchik87, отформатируйте код используя теги , и было бы не плохо добавить пример, тогда посмотрю или жди кого то кто так будет смотреть) 
		
	
		
		
		
		
		
			
				__________________ 
				
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
	 | 
 
	
 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2013, 23:24
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Dimanchik87, 
 Вариант ...
 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="">
<script>
$("body").on({"mouseenter":zoom," mouseleave":zoom_out},"img" ) ;//всем картинкам подключаю событие
var new_img//глобальная переменная для созданной копии
function zoom (){
 if(new_img) new_img.attr({"src": $(this).attr("src")}).stop();
 else new_img=$(this).clone();//создаю копию той картинки на которой произошло событие
 $("body").append(new_img);
 new_img.off("mouseenter mouseleave")
 new_img.css("position","fixed");
 new_img.css("top","100px");
 new_img.css("left","300px");
 new_img.css("height","30px");
 new_img.css("width","30px");
 new_img.css("zIndex","4");
 new_img.animate({height:300,width:300},750);
 };
 function zoom_out (){
 new_img.stop().animate({height:30,width:30},750,function ()
{
  new_img.remove()
})
 }
</script>
<img src="http://javascript.ru/img/ws_1.png" alt="">
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2013, 23:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.03.2013 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 огромное спасибо за ответ,я сделал по другому,но ваш вариант намного круче.Если кто-нибудь объяснит как вставлять код для просмотра на этот форум,покажу свой вариант 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2013, 23:47
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Dimanchik87, 
 Пожалуйста, отформатируйте свой код!
 
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
 
[js]
... ваш код...
[/js]
 
О том, как вставить в сообщение  исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте  http://javascript.ru/formatting.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.05.2013, 00:02
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.03.2013 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
img.on("mouseover",zoom)
	function zoom (event){
	var img=$(event.target)
	img.off("mouseover",zoom);
	new_img=img.clone();
	new_img.addClass("pict1");
	$("body").append(new_img);
	new_img.css("position","fixed");
	new_img.css("top","100px");
	new_img.css("left","300px");
	new_img.css("height","30px");
	new_img.css("width","30px");
	new_img.css("zIndex","4");
	
	
	new_img.animate({height:300,width:300},750);
	img.on("mouseout",zoom_out);
	
	};
	function zoom_out (event){
	var img1=$(event.target)
	img.off("mouseout",zoom_out);
	$(".pict1").animate({height:30,width:30},750,function(){$(".pict1").remove();});
	img.on("mouseover",zoom);
	
	}
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.05.2013, 00:05
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.03.2013 
					
					
					
						Сообщений: 48
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 подскажите как сделать,чтобы пока одна картинка не исчезла,событие на другой не происходило 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.05.2013, 00:45
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 I am Student 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.12.2011 
					
					
					
						Сообщений: 4,415
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Dimanchik87,
  
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" alt="">
<script>
!function (){  
  
$("body").on({"mouseenter":zoom," mouseleave":zoom_out},"img" ) ;//всем картинкам подключаю событие  
  
var new_img, active = false;
  
function zoom (){
  
  if(active) return;
  
  active = true;
  
  if(new_img)
  {
    new_img.attr({"src": $(this).attr("src")}).stop();
  }
  else {
   
    new_img=$(this).clone();//создаю копию той картинки на которой произошло событие
  }
  
 $("body").append(new_img);
 new_img.off("mouseenter mouseleave")
 new_img.css("position","fixed");
 new_img.css("top","100px");
 new_img.css("left","300px");
 new_img.css("height","30px");
 new_img.css("width","30px");
 new_img.css("zIndex","4");
  
  new_img.animate({height:300,width:300},750);
  
 };
  
  
 function zoom_out (){
 new_img.stop().animate({height:30,width:30},750,function (){
  
   active = false;
   
   new_img.remove();
  
})
 }
  }();
</script>
<img src="http://javascript.ru/img/ws_1.png" alt="">
</body>
</html>
 
		
	
		
		
		
		
		
			
				__________________ 
				
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
	 | 
 
	
 
 
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось cyber, 08.05.2013 в 09:25.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.05.2013, 01:02
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		cyber, 
 возле  run в теге html добавьте через пропуск  height=500 а то картинок невидно    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |