Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.11.2006, 16:15
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 1  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
Question бешеная картинка

ниже приведен скрипт, а проблема в нем вот какая:
рисунок сначала движется нормально, а потом начинает летать как бешеный (очень быстро)
почему это может происходить??? ведь я прибавляю все время по одному пикселю! Подскажите пожалуйста...

<script language="JavaScript">
function dem() {
document.all.risunok.style.posLeft+=1
setTimeout ('dem()', 100)
}
</script>
<body>
<img id="risunok" src="nevajno" style="position: absolute; z-index:0; left: -50px; top: 100px" onLoad="dem()">
</body>

Старый 24.11.2006, 16:32
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 2  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от navidim
ниже приведен скрипт, а проблема в нем вот какая:
рисунок сначала движется нормально, а потом начинает летать как бешеный (очень быстро)
почему это может происходить??? ведь я прибавляю все время по одному пикселю! Подскажите пожалуйста...

<script language="JavaScript">
function dem() {
document.all.risunok.style.posLeft+=1
setTimeout ('dem()', 100)
}
</script>
<body>
<img id="risunok" src="nevajno" style="position: absolute; z-index:0; left: -50px; top: 100px" onLoad="dem()">
</body>
1) забудь про document.all. он работает только в ие. есть правильный аналог: document.getElementById()

2)
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
</head><body><script type="text/javascript">
function dem(t) {
//	alert(t)
	t.style.left = (t.offsetLeft+1)+'px';
}
function startFunc(f,el,tmr){
//	alert([f,el.style,tmr]);
	f(el);
	return setInterval(function(){f(el)}, tmr)
}
</script>
<body>
<img id="risunok" src="http://194.67.27.119/images/default/default/ico_leader.gif" style="position:absolute;z-index:1;left:50px;top:100px;" onload="startFunc(dem,this,10);">
</body>
</html>

Старый 24.11.2006, 17:06
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 3  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
Attention не работает

KidsKilla к сожалению, эффект тот же, рисунок приобретает ускорение, сначала двигаясь медленно, а потом - очень быстро...

Старый 24.11.2006, 18:12
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 4  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от navidim
KidsKilla к сожалению, эффект тот же, рисунок приобретает ускорение, сначала двигаясь медленно, а потом - очень быстро...
????????
=)))))))

можт у тя комп дерертирует? =)))

работает всё. проверял и в ослике и в фф и в опере

Старый 24.11.2006, 18:25
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 5  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
The bomb! вот ****

не подскажешь: что можно сделать в данной ситуации???
просто такой эффект на нескольких компах.....
картинка ускоряется !!!

ПОМОГИТЕ КТО-НИБУДЬ!!!

Старый 24.11.2006, 19:09
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 6  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от navidim
не подскажешь: что можно сделать в данной ситуации???
просто такой эффект на нескольких компах.....
картинка ускоряется !!!

ПОМОГИТЕ КТО-НИБУДЬ!!!
ор тут не поможет. можно только плюсов нахватать.

если ты имеешь в виду тот факт что она "дёргается" то тут не сделаешь ничего. вообще. setInterval (setTimeout) работают не совсем равномерно. + всё зависит от загруженности компа.

Старый 24.11.2006, 19:55
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 7  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
KidsKilla... если бы она дергалась, то я бы не кричал! она сначала двигается плавно (со скоростью + 1 px) а потом начинает двигаться быстрее (со скоростью 2 px 3 px 4 px и т.д.)
просто изучая оба скрипта я в упор не вижу почему это может происходить!
меня это очень мучает!

Старый 24.11.2006, 20:11
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 8  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
KidsKilla
вот исходники, можете проверить, как у вас работает?
если подождать пока бабочка пролетит пару раз - её скорость значительно возрастает!
с вашим скриптом - то же самое ...
Изображения
 
Вложения
Тип файла: txt code.txt (476 байт, 81 просмотров)

Старый 24.11.2006, 20:40
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 9  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от navidim
KidsKilla
вот исходники, можете проверить, как у вас работает?
если подождать пока бабочка пролетит пару раз - её скорость значительно возрастает!
с вашим скриптом - то же самое ...
1) ты упорно пытаешься заточить жс код только под ие. за это руки отрывать.

2) никаких изменений в скорости не заметил.

3) вот правильный код, работающий во всех браузерах (с учетом цикличности движения):

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
</head><body><script type="text/javascript">
function dem(t) {
//	alert(t)
	var w = document.documentElement.clientWidth || document.body.clientWidth || window.innerWidth;
	var h = document.documentElement.clientHeight || document.body.clientHeight || window.innerHeight;
	t.style.left = (t.offsetLeft>w-t.offsetWidth) ? '0' : (t.offsetLeft+1)+'px';
}
function startFunc(f,el,tmr){
//	alert([f,el.style,tmr]);
	f(el);
	return setInterval(function(){f(el)}, tmr)
}
</script>
<body>
<img id="risunok" src="http://194.67.27.119/images/default/default/ico_leader.gif" style="position:absolute;z-index:1;left:50px;top:100px;" onload="startFunc(dem,this,10);">
</body>
</html>

Старый 24.11.2006, 21:02
navidim вне форума Посмотреть профиль Отправить личное сообщение для navidim Посетить домашнюю страницу navidim Найти все сообщения от navidim
  № 10  
Ответить с цитированием
navidim

Регистрация: Nov 2001
Сообщений: 182
ладно, спасибо большое за помощь, но бабочка по-прежнему улетает весьма быстро...
ещё один вопрос и все: "пытаешься заточить жс код только под ие. за это руки отрывать"
в чем именно, и как этого избежать?

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:47.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.