Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нажатие на объект, для тех кто не знал onclick 
V
    Опции темы
champion
Дата 20.6.2006, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



У меня есть кнопка, как сделать, чтобы когда я на неё жму, и удерживаю, то выполнялось действие? 


--------------------
user posted image
PM MAIL   Вверх
Sardar
Дата 20.6.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Повесь функцию на событие onclick. Вот инфа: http://forum.vingrad.ru/index.php?showtopic=32350

Ты ведь сам понимаешь уровень своих вопросов, и ведь видишь что есть закреплённые темы и подфорум для начинающих. Это первое предупреждение. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
champion
Дата 20.6.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



Наверное Вы не так поняли мой вопрос. Мне нужно, чтобы функция выполнялась в течение всего нажатия, когда кнопка удерживается, а не когда приходится нажимать несколько раз.

Добавлено @ 11:00 
А эту тему я смотрел, но ответа на свой вопрос я там не нашел 


--------------------
user posted image
PM MAIL   Вверх
solenko
Дата 20.6.2006, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



onMouseDown
onMouseUp 


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 20.6.2006, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(champion @  20.6.2006,  10:00 Найти цитируемый пост)
Мне нужно, чтобы функция выполнялась в течение всего нажатия

А что это значит? Некий бесконечный цикл, что будет внезапно обрываться кгда кнопку отпустили? Сам понимаешь чем это чревато, поэтому как уже предлагали по onMouseDown запускаешь интервал (setInterval), в функции которого проверяешь некий флаг. Флаг сбрасываеться в onMouseUp.  


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
champion
Дата 20.6.2006, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



SetInterval, оно мне и нужно. Но вот проблема. я написал такую функцию, которая одновременно обрабатывает OnMouseDown  и OnMouseUp:
Код

function scroll(fun,vid) {
 if(fun=="bottom") {
  if(vid=="start") {
   document.getElementById('res').scrollTop+=50;
   var ss=setInterval("scroll('bottom','start')",200)
 }
  if(vid=="stop")
 {
   ClearInterval(ss);
 }
}
}

Вызываю так:
Код

<img src="pictures/chatmenu/scrollb.gif" alt="Прокрутить вниз" OnMouseDown="scroll('bottom','start')" OnMouseUp="scroll('bottom','stop')"> 

Но у меня не срабатывает остановка, прокрутка идёт как надо, но после отпускания мыши, браузер просто виснет, как можно исправить? И где у меня может быть ошибка? Неподскажете ли Вы, как сделать плавную прокрутку, а не такими рывками?
PS Как работать с onclick я знаю  

Это сообщение отредактировал(а) champion - 20.6.2006, 13:16


--------------------
user posted image
PM MAIL   Вверх
Sardar
Дата 20.6.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Мда...  smile 

Оцени свой код хорошенько, почитай на досуге что есть setInterval, также почитай что есть локальные переменные функции (обьявляються через var в теле функции). Ещё полезно смотреть как браузер ругаеться на синтаксические ошибки, раз окошка ты не видишь, значит жми дважды мышью на иконку в левом нижнем углу (ClearInterval такой функции нет smile ).

Медитируй, как наступит просветление садись за любой мануал по JS, масса проблем исчезнет само собой.

Добавлено @ 13:38 
Цитата(champion @  20.6.2006,  12:09 Найти цитируемый пост)
Неподскажете ли Вы, как сделать плавную прокрутку, а не такими рывками?

Ты сам рывками по 50px двигаешь. Можно setInterval'ом мелкими шажочками, но будет тормозить. В итоге: бросай что задумал, оставь нормальный скролинг на браузере.

P.S. 80% всех новичков почему то хотят сделать свой скролинг (сам тоже делал smile )... странно...  smile   


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
solenko
Дата 20.6.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



Код

<script>
function scroll(fun,vid) {
 if(fun=="bottom") {
  if(vid=="start") {
   document.getElementById('res').scrollTop+=5;
   window.ss=setTimeout("scroll('bottom','start')",100)
 }
  if(vid=="stop")
 {
   clearTimeout(window.ss);
 }
}
}
</SCRIPT>
<div id="res" style="overflow:hidden; width:300px; height:200px;">TEXT</div>
<BR><BR>
<img src="image" alt="Прокрутить вниз" OnMouseDown="scroll('bottom','start')" OnMouseUp="scroll('bottom','stop')">
 


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
champion
Дата 20.6.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



В чем смех, что ClearInterval  я нашел в этой теме http://forum.vingrad.ru/index.php?showtopi...;hl=setinterval
solenko, спасибо, Ваш пример то, что нужно!
 


M
Sardar
Ну извини, не хотел обидеть, улубныло построение алгоритма :)
 


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.