Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2018, 15:49
Интересующийся
Отправить личное сообщение для Lord_Jesus_ Посмотреть профиль Найти все сообщения от Lord_Jesus_
 
Регистрация: 10.05.2018
Сообщений: 11

Плавное появление картинки при наведении на ссылку
Код:
var imgs = new Array("img1.png", "img2.png", "img3.png");
function sh_img(a) {
 
 
    var obj = document.getElementById("img");
        obj.src = imgs[a];
 
 
  }
<nav>
    <a href="ссылка.php"  onMouseOver="sh_img(1)" onMouseOut="sh_img(0);">текст</a>
        <a href="ссылка2.php"  onMouseOver="sh_img(2)" onMouseOut="sh_img(0);">текст2</a>
    
  </nav>
  <div>
  <img src=""img1.png" id="img">
  </div>



При наведении на ссылку появляется изображение соответствующей ссылки, если вне диапазона ссылки то используеться картинка по умолчанию
Подскажите пожалуйста как теперь сделать чтобы изображение менялось плавно...

Пробовал сделать так...

Код:
var imgs = new Array("img1.png", "img2.png", "img3.png");
function sh_img(a) {
 
       $('#img').animate({'opacity': 0}, 500).hide();
    var obj = document.getElementById("img");
        obj.src = imgs[a];
 
       $('#img').show().animate({'opacity': 1}, 500);
  }
это конечно неправильно,и работает не корректно и говорит о том что у меня нехватка знаний, подскажите пожалуйста как нужно правильно все это реализовать,,,
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2018, 15:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

http://api.jquery.com/category/effects/fading/
fadeIn / fadeOut не пробовали?
Ответить с цитированием
  #3 (permalink)  
Старый 10.05.2018, 16:00
Интересующийся
Отправить личное сообщение для Lord_Jesus_ Посмотреть профиль Найти все сообщения от Lord_Jesus_
 
Регистрация: 10.05.2018
Сообщений: 11

j0hnik,
А не могли бы вы мне помочь, как правильно и корректно применить это в своем коде?? если вас не затруднит,,,
Ответить с цитированием
  #4 (permalink)  
Старый 10.05.2018, 16:15
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>

	<a href="ссылка.php"  onMouseOver="sh_img(1)" onMouseOut="sh_img(0);">текст</a>
	<a href="ссылка2.php"  onMouseOver="sh_img(2)" onMouseOut="sh_img(0);">текст</a>
	<img src="img0.png" id="img">
	<script>
		function sh_img(a){
			$("#img").fadeOut( "slow", function() {
				$("#img").prop('src', 'img'+a+'.jpg');
				$("#img").fadeIn("slow");
			});
		}

	</script>
</body>
</html>


img0 - это изображение по умолчанию.
Ответить с цитированием
  #5 (permalink)  
Старый 10.05.2018, 16:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

CSS3 - transition
Ответить с цитированием
  #6 (permalink)  
Старый 10.05.2018, 16:35
Интересующийся
Отправить личное сообщение для Lord_Jesus_ Посмотреть профиль Найти все сообщения от Lord_Jesus_
 
Регистрация: 10.05.2018
Сообщений: 11

j0hnik,
Я немного переделал, вы конечно я так хорошо владеете этим языком по крайней мере знаете побольше намного чем я...

правильно ли будет если я немного изменил ваш код и сделал так...???

var imgs = new Array("img1.png", "img2.png", "img3.png");
function sh_img(a){
			$("#img").fadeOut( "slow", function() {
				$("#img").prop('src',  imgs[a]);
				$("#img").fadeIn("slow");
			});
		}



все работает отлично, спасибо огромное за помощь,
А можно ли изменить интервал,чтобы появление и затухание происходило быстрее?
Ответить с цитированием
  #7 (permalink)  
Старый 10.05.2018, 16:37
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Lord_Jesus_,
вместо "slow" можете указать число в мс
например 1000 - эта секунда.
Ответить с цитированием
  #8 (permalink)  
Старый 10.05.2018, 16:38
Интересующийся
Отправить личное сообщение для Lord_Jesus_ Посмотреть профиль Найти все сообщения от Lord_Jesus_
 
Регистрация: 10.05.2018
Сообщений: 11

j0hnik,
Спасибо за помощь
Ответить с цитированием
  #9 (permalink)  
Старый 10.05.2018, 16:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

j0hnik,
а если быстро поводить курсором по ссылкам?
Ответить с цитированием
  #10 (permalink)  
Старый 10.05.2018, 16:51
Интересующийся
Отправить личное сообщение для Lord_Jesus_ Посмотреть профиль Найти все сообщения от Lord_Jesus_
 
Регистрация: 10.05.2018
Сообщений: 11

рони,
эффект был будто картинка зависала
но после того как я понизил время интервала появление как посоветовал мне "j0hnik", все прорисовываеться плавно
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появление лупы при наведении на картинку Dash jQuery 9 08.08.2017 21:27
Появление элементов меню при наведении vettel jQuery 2 10.11.2015 02:07
Плавное появление картинки в ui slider - jQuery gazman jQuery 0 02.09.2015 23:44
Плавное появление картинки в слайд-шоу Alex351960 Элементы интерфейса 1 08.08.2013 17:01
Изменение изображения при наведении на ссылку MDS Общие вопросы Javascript 1 08.08.2008 21:54