Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Увеличение размеров картинки при наведении курсором (https://javascript.ru/forum/dom-window/35656-uvelichenie-razmerov-kartinki-pri-navedenii-kursorom.html)

new0111 17.02.2013 16:57

Увеличение размеров картинки при наведении курсором
 
Задача: увеличение размеров картинки при наведении на неё курсором, если курсор выходит за пределы элемента, то размеры картинка становятся первоначальными.

Как сделал я
<img src="http://..." onMouseMove='onMoveImg(this.style);'  onMouseOut='onOutImg(this.style);'>


function onMoveImg(a){
	if(a.pixelHeight==90){
		function fun(){
			if(a.pixelHeight<150){
				a.pixelLeft-=2;
				a.pixelTop-=2;
				a.pixelWidth+=4;
				a.pixelHeight+=4;
				a.zIndex+=1;
				setTimeout(fun,20);
			}
		}
		fun();
	}
}
function onOutImg(a){
		function fun2(){
			if(a.pixelHeight>90){
				a.pixelLeft+=2;
				a.pixelTop+=2;
				a.pixelWidth-=4;
				a.pixelHeight-=4;
				a.zIndex-=1;
				setTimeout(fun2,10);
			}
		}
		fun2();
}


Уточнение: 90 первоначальный размер картинки, а 150 - размер, до которого увеличивается картинка.

Пробелмы: если провести курсором по картинке, то картинка всё равно увеличится до размеров 150 пикселей. Не могу сделать проверку условия в функции onMoveImg о том, что находится ли курсор ещё в пределах границы картинки или нет.

Заранее всем спасибо.

danik.js 17.02.2013 17:38

<style>
img{
    width: 90px;
    -webkit-transition: width 0.5s;
    -moz-transition: width 0.5s;
    -o-transition: width 0.5s;
     transition: width 0.5s;
}
img:hover{
    width: 150px;
}
</style>
<img src="http://img.12pings.net/wallp/optical_illusion_abstract_1280x800.jpg">

new0111 17.02.2013 20:47

Цитата:

Сообщение от danik.js (Сообщение 235074)
<style>
img{
    width: 90px;
    -webkit-transition: width 0.5s;
    -moz-transition: width 0.5s;
    -o-transition: width 0.5s;
     transition: width 0.5s;
}
img:hover{
    width: 150px;
}
</style>
<img src="http://img.12pings.net/wallp/optical_illusion_abstract_1280x800.jpg">

Да, спасибо, конечно. Не спорю норм вариант :) Но мне надо осуществить это с помощью javаscript, да именно javаscript.

danik.js 17.02.2013 21:02

<img src="http://img.12pings.net/wallp/optical_illusion_abstract_1280x800.jpg">
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
    $('img').width(90).hover(function(){
        $(this).stop().animate({width: 150});
    },
    function(){
        $(this).stop().animate({width: 90});
    });
</script>

SleepWalker15 22.02.2013 09:27

А возможно ли эту картинку еще и ссылкой сделать?

ksa 22.02.2013 09:49

Цитата:

Сообщение от SleepWalker15
А возможно ли эту картинку еще и ссылкой сделать?

Добавь ей событие click...

Deff 22.02.2013 10:09

SleepWalker15,
Или обернуть картинку в ссылку изначально

danik.js 22.02.2013 12:17

Цитата:

Сообщение от ksa
Добавь ей событие click...

Ну ты извращенец :)

SleepWalker15 22.02.2013 14:18

Цитата:

Сообщение от danik.js (Сообщение 235128)
<img src="http://img.12pings.net/wallp/optical_illusion_abstract_1280x800.jpg">
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
    $('img').width(90).hover(function(){
        $(this).stop().animate({width: 150});
    },
    function(){
        $(this).stop().animate({width: 90});
    });
</script>


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

ksa 22.02.2013 14:31

Цитата:

Сообщение от SleepWalker15
как правильно привязывать к конкретному изображению?

Таки указать конкретное...


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