Предпологается наличие объекта
Только начал изучать ява скрипт
при нажатие на изображение ошибка "предпологает наличие объекта " подскажите где ошибка?
<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, время: 11:39. |