Сейчас: 02:12:04   26-го апреля 2024 г.
UsefulScript.ruСкриптыГрафикаСкрипт перемещения изображений
23
59

Перемещаемые пользователем изображения

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


Обращаем Ваше внимание на то, что скрипт может не работать в некоторых браузерах.


Для примера ниже приведены четыре изображения, которые Вы можете самостоятельно переместить курсором мышки:


Перемещаемое изображение
Перемещаемое изображение
Перемещаемое изображение
Перемещаемое изображениея

Для получения таких перемещаемых изображений вставьте в начало Вашей странички следующий JavaScript код:

JavaScript код:
<script type="text/javascript">
var 
isNav;
if (
parseInt(navigator.appVersion) >= 4) {
    if (
navigator.appName == "Netscape"isNav true;
}

function 
setZIndex(objzOrder) { obj.zIndex zOrder; }

function 
shiftTo(objxy) {
    if (
isNav) { obj.moveTo(x,y) }
    else {
        
obj.filter "invert()"
        
obj.pixelLeft x;
        
obj.pixelTop y;
    }
}

var 
selectedObj;
var 
offsetXoffsetY;

function 
setSelectedElem(evt) {
    if (
isNav) {
        var 
testObj;
        var 
clickX evt.pageX;
        var 
clickY evt.pageY;
        for (var 
document.layers.length 1>= 0i--) {
            
testObj document.layers[i]
            if ((
clickX testObj.left) &&
                (
clickX testObj.left testObj.clip.width) &&
                (
clickY testObj.top) &&
                (
clickY testObj.top testObj.clip.height)) {
                    
selectedObj testObj;
                    
setZIndex(selectedObj100);
                    return
            }
        }
    }
    else {
        var 
imgObj window.event.srcElement
        
if (imgObj.parentElement.id.indexOf("picture") != -1) {
            
selectedObj imgObj.parentElement.style
            setZIndex
(selectedObj,100)
            return
        }
    }
    
selectedObj null
    
return
}

function 
dragIt(evt) {
    if (
selectedObj) {
        if (
isNav) { shiftTo(selectedObj, (evt.pageX offsetX),
        (
evt.pageY offsetY))    }
        else {
            
shiftTo(selectedObj, (window.event.clientX offsetX),
            (
window.event.clientY offsetY))
            return 
false
        
}
    }
}

function 
engage(evt) {
    
setSelectedElem(evt)
    if (
selectedObj) {
        if (
isNav) {
            
offsetX evt.pageX selectedObj.left
            offsetY 
evt.pageY selectedObj.top
        
}
        else {
            
offsetX window.event.offsetX-(document.documentElement.scrollLeft ?
            
document.documentElement.scrollLeft document.body.scrollLeft);
            
offsetY window.event.offsetY-(document.documentElement.scrollTop ?
            
document.documentElement.scrollTop document.body.scrollTop);
        }
    }
    return 
false
}

function 
release(evt) {
    if (
document.all) { selectedObj.filter "" }
    if (
selectedObj) {
        
setZIndex(selectedObj0)
        
selectedObj null
    
}
}

function 
setNavEventCapture() {
    if (
isNav) {
    
document.captureEvents(Event.MOUSEDOWN Event.MOUSEMOVE Event.MOUSEUP)
    }
}

function 
init() {
    if (
isNav) { setNavEventCapture() }
    
document.onmousedown engage
    document
.onmousemove dragIt
    document
.onmouseup release
}
</script>

Далее, в том месте Вашей странички, где необходимо вывести изображения, которые в дальнейшем пользователь сможет перемещать курсором мышки, описываем данные изображения следующим образом:

HTML код:
<table style="width: 100%; height: 100px;">
 <
tr style="vertical-align: top;">
  <
td style="width: 25%;">
   <
div id="picture1" style="position: absolute;">
   <
img src="image/img_1.png" width="150"></div>
  </
td>
  <
td style="width: 25%;">
   <
div id="picture2" style="position: absolute;">
   <
img src="image/img_2.png" width="150"></div>
  </
td>
  <
td style="width: 25%;">
   <
div id="picture3" style="position: absolute;">
   <
img src="image/img_3.png" width="150"></div>
  </
td>
  <
td style="width: 25%;">
   <
div id="picture4" style="position: absolute;">
   <
img src="image/img_4.png" width="150"></div>
  </
td>
 </
tr>
</
table>

Ну и в самом конце странички, для того, чтобы заработал наш скрипт, вызываем функцию init(), описанную выше, для чего используем следующий код:

JavaScript код:
<script type="text/javascript">
 
init();
</script>

Обратите внимание, что при использовании данного скрипта в браузере Opera, например, становится невозможным выделить текст, размещенный на страничке, а в IE не получается прокручивать полосы прокрутки курсором мыши. Так что если у Вас не получается, но Вы захотите скопировать приведенной на данной страничке код, то отключите JavaScript в Вашем браузере.

Дата создания: 21:13:12 10.07.2011 г.
Дата обновления: 22:36:47 08.03.2012 г.
Посещений: 6226 раз(а).

Комментарии посетителей (2 шт.):
Андрей
1
# 838
(00:56:23  12.05.2013 г.)

Перемещение работает только в IE. А хотелось бы, чтобы и в других браузерах работало.
Ответить

Administrator
1
# 840
(19:35:52  12.05.2013 г.)

В Опере тоже работает, в других не проверял.
Ответить

Закрыть
Ваше имя:
134 + 19 =
Добавить комментарий:
Ваше имя:
134 + 19 =

Перед публикацией все комментарии проходят обязательную модерацию!

Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
Посетителей онлайн: 7

Мешает ли Вам реклама?