[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скролинг DIVов на JavaScript
SVFox
Всем драсти!

есть такой скрипт:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<STYLE type="text/css">
<!--
   #c1 { position: relative; overflow:hidden; width:300px; height:200px; border:1px #ccc solid}
   #c2 { position: relative;width: 200px; border:1px red solid;float:left;}
-->
</STYLE>
<script type="text/javascript">
  var scroll_break=1;

  function topgo() {
      MaxTop = document.getElementById("c2").offsetHeight;
      StopGo = document.getElementById("c2").offsetHeight-document.getElementById("c1").offsetHeight;
      StopGo = ((StopGo+5)*(-1));
     if(document.getElementById("c2").offsetTop>StopGo) {
      newTop = document.getElementById("c2").offsetTop-5;
      document.getElementById("c2").style.top=newTop+"px";
    if (scroll_break)
        setTimeout('topgo();', 50);
    else
        scroll_break=1;
     }

  }


function footgo()
    {
     if(document.getElementById("c2").offsetTop!=0) {
      newTop = document.getElementById("c2").offsetTop+5;
      document.getElementById("c2").style.top=newTop+"px";
     } else {
      scroll_break=0;
     }

    if (scroll_break)
        setTimeout('footgo();', 50);
    else
        scroll_break=1;
}

function scroll_breaker(){
    scroll_break=0;
}

</script>
</HEAD>
<BODY>
<div id="c1">
    <div id="c2">
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>dsfdsfsfsd<br/>
      dsfdsfsfsd<br/>
    </div>
</div>
<a href="java script:void(0);" onMouseDown="topgo();return false;" onmouseup="scroll_breaker();return false;">Вверх</a>
<a href="java script:void(0);" onMouseDown="footgo();return false;" onmouseup="scroll_breaker();return false;">Вниз</a>
</BODY>
</HTML>


Работает нормально, но как только быстро мышкой щелкаю дважды по любой из ссылок, setTimeout('footgo();', 50); - останавливается и уже можно только скролить только щелкая а не удерживая нажатие, подмогните с этим делом пожалуйста!!!



Спустя 1 день, 2 часа, 12 минут, 33 секунды (26.10.2007 - 14:07) SVFox написал(а):
Вопрос решен )

просто вместо var scroll_break=1;

я создал функцию:
Код
function scroll_breaker_start(){
    scroll_break=1;
}


и в ссылку вызова вставил сначала эту функцию потом остальные

теперь возник вопрос такой:

Как мне узнать координаты в DIV при щелчке мышки? я навожу в любое место дива крсор, щелкаю и мне нужно узнать координаты щелчка внутри этого DIVа???


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.