Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   скрипт не работает в opera (https://javascript.ru/forum/css-html-browser/8767-skript-ne-rabotaet-v-opera.html)

De-Lin 11.04.2010 23:44

скрипт не работает в opera
 
Помогите. Пытаюсь самостоятельно разобраться в JavaScript. попался ниже прописанный скрипт. не работает в опере . Что делать? в чем тут дело?
Не обязательно
<style>
<!--
.drag{position:relative;cursor:move}
-->
</style>
<script language="JavaScript1.2">
<!--

/*
Drag and Drop Script-
© Dynamic Drive (www.dynamicdrive.com)
For full source code, installation instructions,
100's more DHTML scripts, and Terms Of
Use, visit dynamicdrive.com
*/

var dragapproved=false
var z,x,y
function move(){
if (event.button==1&&dragapproved){
z.style.pixelLeft= temp1+event.clientX-x
z.style.pixelTop= temp2+event.clientY-y
return false
}
}
function drags(){
if (!document.all)
return
if (event.srcElement.className=="drag"){
dragapproved=true
z=event.srcElement
temp1=z.style.pixelLeft
temp2=z.style.pixelTop
x=event.clientX
y=event.clientY
document.onmousemove=move
}
}
document.onmousedown=drags
document.onmouseup=new Function("dragapproved=false")
//-->
</script>
<img src="Dowl.gif" class=drag>

Aetae 11.04.2010 23:56

Этот скрипт видел мамонтов. Учитесь по учебникам на этом сайте.

subzey 11.04.2010 23:57

if (event.button==1&&dragapproved){

заменяем на
if ((event.button||event.which)==1&&dragapproved){

ибо Microsoft-specific.

далее,
if (!document.all)
return

выкашиваем вообще. Это проверка на Internet Explorer

Aetae 12.04.2010 00:08

Ога, а ещё "pixelLeft","pixelTop" и event которых нет... Проще выкинуть сразу.

subzey 12.04.2010 00:19

Aetae,
window.event-то нет?

Ну, а pixelLeft/pixelTop, это да, кому как повезло. Но, кажется, речь шла только об опере :)

Aetae 12.04.2010 00:44

А что, разве есть? 0_о
аа опера...
Ну всё равно, "скрипт не работает в opera" != "скрипт должен работать только в opera", имхо. Так что даёшь кросс-браузерность.)

subzey 12.04.2010 00:49

<a href="javascript://" onclick="alert(window.event.type)">Click me!</a>

subzey 12.04.2010 00:50

Aetae,
Кроссбраузерность? Тогда выкинуть это говно мамонта и написать/скачать нормальный скрипт.

Aetae 12.04.2010 01:07

О чём я и говорил с самого начала.)

subzey 12.04.2010 01:20

Да. Но исходная задача выполнена, не так ли?

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


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