зацикливается функция. айнидхелп @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 2 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Заголовок сообщения: зацикливается функция. айнидхелп
Сообщение Добавлено: 20 Май 2008, 00:22:31 
http://www.orders.alexey-popov.com/expometall/site/
нажмите на ссылку задать вопрос. медленно открывается див.

нажмите несколько раз подряд на ссылку задать вопрос, функция виснет и весь блок быстро едит вниз.
Как вылечить?

Код:
var id_move
var flg_qpanel_open=0

function show_quest()
{

if(flg_qpanel_open==0)
{
   var dv=document.getElementById("question_box")
   dv.style.background="#edeee9 url(img/bg_quest.jpg) top left no-repeat"
   var dv2=document.getElementById("question_box_content")
   dv2.style.height=0
   dv2.style.visibility = "visible"
   id_move=setInterval("dv2_move()",14)
}
else
{
   var dv=document.getElementById("question_box")
   var dv2=document.getElementById("question_box_content")
   id_move=setInterval("dv2_move_top()",14)
   flg_qpanel_open=0

}

}

function dv2_move()
{

var dv2=document.getElementById("question_box_content")
var h=0
var h1=0
h=parseInt(dv2.style.height)+5
dv2.style.height=h + "px"

var dv=document.getElementById("question_box")
h1=parseInt(dv.style.height)+6
dv.style.height=h1 + "px"


if(parseInt(dv2.style.height) >= 180 )
{
   clearInterval(id_move)
   flg_qpanel_open=1

}

}


function dv2_move_top()
{

var dv2=document.getElementById("question_box_content")
var h=0
var h1=0
h=parseInt(dv2.style.height)-5
dv2.style.height=h + "px"

var dv=document.getElementById("question_box")
h1=parseInt(dv.style.height)-6
dv.style.height=h1 + "px"


if(parseInt(dv2.style.height) < 10 )
{
   clearInterval(id_move)
   flg_qpanel_open=0
   dv2.style.visibility = "hidden"
   dv.style.height="10px"
   dv.style.background=""
}

}


function break_click()
{
   return false
}

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 20 Май 2008, 02:36:19 
Kurilshik, самое простое решение:

когда у тебя окно в движении - просто сделай кнопку не-кликабельной.
Как только анимация закончилась, пусть кнопка снова становится кликабельной.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 2 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100