Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Делаем перетаскивание(JavaScript)

div.main {margin-left: 20pt; margin-right: 20pt}

Делаем перетаскивание(JavaScript)
Как создать перетаскивающиеся изображения(JavaScript)
Для начала, как всегда, надо создать HTML шаблон:
<html>
<title>Drag'n'Drop</title>
<head>
<script language="javascript">

</script>
</head>
<body>

</body>
</html>
Разберёмся, как должна работаь наша программа:
Пользаватель щёлкает на изображение, тем самым активизирует его для перетаскивания, и перетаскивает его в нужную часть экрана, затем повторно щелкает на него,чем прекращает перетакивание.
Создадим две функции: первая отвечает за активизацию(деактивизацию) изображения, вторая непосредственно за перетаскивание.
Создаём первую функцию activate():

function activate() {
activate=!activate;
}

Функция activate() состоит из одной строки, для чего? Функция отвечает за активизацию(деактивизацию) изображений. Логическая переменная activate при каждом использовании функции меняет своё значение с true на false. В дальнейшем эта переменная сыграет одну из главных ролей.
Создаём вторую функцию grab():

function grab() {
if(activate) {
imgWdh=document.img.width;
imgHgt=document.img.height;
img.style.pixelLeft=event.x-imgWdh/2;
img.style.pixelTop=event.y-imgHgt/2;
}
}

Вот мы и используем нашу переменную activate.В строке if(activate) проверяется, какое значение принемает переменная activate.Если это значение true, то выполняются действия в операторных скобках, иначе ничего не происходит. ассмотрим действия в операторных скобках:

imgWdh=document.img.width;
imgHgt=document.img.height;

Строки определяют высоту и ширину изображения, где img- это имя(name) изображения.

img.style.pixelLeft=event.x-imgWdh/2;
img.style.pixelTop=event.y-imgHgt/2;

Функция отслеживает координаты мыши и перетаскивает за ней изображение(imgWdh/2 и imgHgt/2 нужны для того. чтобы курсор устанавливался в центр изображения)
Функция вызывается событием onMousemove, т.е. когда пользователь перемещает курсор по документу, но функционировать она начинает только тогда, когда переменная activate будет равнятся true. Для того чтоб при загрузке изображение не начало сразу двигаться за курсором, присвоим activate значение false , и поместим строку перед всеми функциями.
Ну вот вроде и всё, вот весь код программы:

<html>
<title>Drag'N'Drop</title>
<head>
<script language="javascript">
var activate=false;
function activate() {
activate=!activate;
}

function grab() {
if(activate) {
imgWdh=document.img.width;
imgHgt=document.img.height;
img.style.pixelLeft=event.x-imgWdh/2;
img.style.pixelTop=event.y-imgHgt/2;
}
}
</script>
<body onMousemove="grab()">
<img src="file.jpg" name="img" onClick="activate()" style="position:absolute;top:10;left:10">
</body>
</html>

Теперь вы можете сделать на своём сайте, например, мозайку, состоящую из нескольких таких функций, или ещё какое-нибудь интересное приложение, вперёд!!!(Приложение работает только в IE, но его не трудно модифицировать и для работы в Netscape Navigator)

По вопросам JavaScript и Flash 5, а так же программам связаными с web графикой обращаться на munchener@tut.by



Автор: © Andrew A
Источник: http://www.flasher.ru


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте