Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Блокирование перемещения картинки (https://javascript.ru/forum/dom-window/18518-blokirovanie-peremeshheniya-kartinki.html)

Одессит 04.07.2011 22:20

Блокирование перемещения картинки
 
Ситуация такая, мне нужно, чтобы при нажатии мышкой на картинке, а потом перемещении вправо или влево картинка эта менялась.
Скрипт тестовый написал, но проблема в том, что при нажатии на картинку она сама начинает перемещаться в окне браузера, а это не нужно.
Может вопрос не совсем по js, но как заблокировать такое перемещение картинки?
Ну, и может кто ещё подскажет какие-то способы реализации данной функции, моя тестовая страница такая
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<script type="text/javascript">
var ch=false;
var old_e;
function change(img,e)
{
	if(ch)
	{
		console.log(e);
		if (old_e>e.clientX)
		{
			old_e=e.clientX;
			img.src="2.png";
		}
		else if (old_e<e.clientX)
		{
			old_e=e.clientX;
			img.src="6.png";
		}
	}
}

function ch_on(e)
{
	ch=true;
	old_e=e.clientX;
}
function ch_off()
{
	ch=false;
}
</script>

</head>

<body>

<img src="1.png" onmousedown="ch_on(event)" onmouseover="ch_off()" onmouseup="ch_off()" onmousemove="change(this,event)">
</body>
</html>


Нужно нечто похожее на то, что у Эйпла, если нажать на ссылку рядом с 360
http://www.apple.com/macbook/

Может на Jquery как-то можно просто реализовать

float 04.07.2011 23:39

Самому интересно стало:)
preventDefault работает.
Заюзай поиск по сайту - найдёшь статейку с кросбраузерным примером.

da_ff 05.07.2011 16:59

Картинку вставляй не в img,а через background, тогда никуда перемещаться не будет.


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