Предпологается наличие объекта
Только начал изучать ява скрипт
при нажатие на изображение ошибка "предпологает наличие объекта " подскажите где ошибка? <html> <head> <script> function Xmove(){ var xinetrval = setInterval ("moveImg()",20); i = 30; function moveImg() { alert ("sdaf"); if (i<100){ document.all.oneImg1.style.top=i; alert(i); i=i+5; } else clearInterval(xinetrval) } } </script> </head> <body> <IMG ID=oneImg1 src="D:/www/java/2.jpg" style="position:absolute; top:30px; left:20px; z-index=1"; onclick="Xmove()"; > </body> </html> |
предполагаю что здесь:
document.all.oneImg1.style.top=i; замените на: document.getElementById('oneImg1').style.top=i; |
и еще
<IMG ID=oneImg1 src="D:/www/java/2.jpg" style="position:absolute; top:30px; left:20px; z-index=1"; onclick="Xmove()"; > писать нельзя, вы ставите точку с запятой где их быть не должно и еще после z-index должно стоять двоеточие, а не равно и id лучше писать в двойных кавычках: <IMG ID="oneImg1" src="D:/www/java/2.jpg" style="position:absolute; top:30px; left:20px; z-index:1" onclick="Xmove()"> |
сделал все выше указаные изменения, ошибка осталасась прежней :(
|
<html> <head> <script type="text/javascript"> function Xmove() { var i = 30; var xinetrval = setInterval(function(){ i<100 ? document.all.oneImg1.style.top=i=i+5 : clearInterval(xinetrval) },20); } </script> </head> <body> <IMG id="oneImg1" src="D:/www/java/2.jpg" style="position:absolute; top:30px; left:20px; z-index:1" onclick="Xmove()"> </body> </html> |
спасибо большое
|
Skipp,
используете сокращенную запись ?: и тут же пишите вот это: document.all.oneImg1.style.top=i=i+5 Это говнокод. Хотя это все равно останется говнокодом, но вы его делаете еще и сложным для понимания. |
Gozar,
Объясните почему это говнокод, спорить не буду просто интересно! Может что нового узнаю. А насчёт сложного, не спорю. Но если бы автор хотел понять, то попросил бы разжевать код. |
1. document.all говнокод
2. = i = i + 5 говнокод 3. и вообще это все говнокод потому что: http://javascript.ru/blog/Andrej-Par...meout-interval |
Насчёт первого соглашусь, знаю ответ.
А вот остальное объясните пожалуйста, очень интересно, что там такого не так? Без шуток. |
Skipp,
я уже объяснил, разжёвывать я не буду, скучно. |
Gozar,
ну тогда насчёт 2 и 3 я останусь при своём мнении. А вообще жаль, думал узнаю что-то полезное. Может кто-нибудь другой тогда объяснит, пожалуйста. |
Skipp,
Вы разучились читать? Я дал вам ссылку вот и читайте. Там всё разжевано. И идите учить операторы присваивания += например. |
Gozar,
В данной ссылке, я не нашёл ничего полезного по данной теме. А про операторы присваивания я знаю. Но не понял почему i=i+5; - говнокод i+=5; - а это нет Разница в результате? Или из-за того что код сократился на 1 символ? |
Skipp,
Вставьте перед тегом <html> строку: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">и заставьте ваш код работать снова. |
Во, вот за это спасибо. ошибку понял.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript"> function Xmove(i) { var xinetrval = setInterval(function(){i<100 ? document.getElementById('oneImg1').style.top=(i+=5) + "px" : clearInterval(xinetrval) },20); } </script> </head> <body> <img id="oneImg1" src="http://javascript.ru/forum/image.php?u=11&dateline=1271099142" style="position:absolute; top:30px; left:20px; z-index:1" onclick="Xmove(30)" alt=""> </body> </html> Улучшил говнокод :) |
Skipp,
Это тоже говнокод, измените на onclick="Xmove(130)" |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript"> function Xmove(elem, end) { var xinetrval = setInterval(function(){elem.offsetTop<end ? elem.style.top=(elem.offsetTop + 5) + "px" : clearInterval(xinetrval) },20); } </script> </head> <img src="http://javascript.ru/forum/image.php?u=11&dateline=1271099142" style="position:absolute;" onclick="Xmove(this, 1000)"> </body> </html> апдейт комплите говнокоде =) работает если position = absolute и если второй параметр >= 10. Еще есть ошибки?:) |
Часовой пояс GMT +3, время: 05:42. |