Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прокрутка с помощью кнопки (https://javascript.ru/forum/misc/54861-prokrutka-s-pomoshhyu-knopki.html)

prizvel 03.04.2015 18:50

Прокрутка с помощью кнопки
 
На странице есть кнопка, которая пока нажата должна прокручивать страницу.
// кнопки прокрутки
<script>
var Buttonscroll = 0 // переменная показывает нажата ли кнопка
function Scrolling(x, y) { // x = 0 будет означать что функция запущена через  setTimeout
if (x == 1) {     
Buttonscroll = 1 
}
if (Buttonscroll == 1) {
window.scrollBy(y,0)
setTimeout("Scrolling(0)",20) }

}
function ScrollingOFF() {
Buttonscroll = 0 }
</script>
<button onkeydown="Scrolling(1, -10)" onkeyup="ScrollingOFF()">крутить</button>
 -работает через кнопку
<button onmousedown="Scrolling(1, -10)" onmouseup="ScrollingOFF()">крутить</button> -не работает


Не могу понять в чем проблема

рони 03.04.2015 19:23

Цитата:

Сообщение от prizvel
работает через кнопку

точно?

рони 03.04.2015 19:42

prizvel,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
 body{
   height: 1000px;
 }
 button{
   position: fixed;
   bottom: 0
 }

  </style>
</head>

<body>
<script>
var timer;
function Scrolling(x, y) {
window.scrollBy(x,y)
timer = setTimeout(function() {
   Scrolling(x, y)
} ,80) }


function ScrollingOFF() {
 window.clearTimeout(timer)
}
window.scrollBy(0,1000)
</script>
------------------------------------------------------
<button onkeydown="Scrolling(0, -10)" onkeyup="ScrollingOFF()">крутить enter</button>
 -работает через кнопку
<button onmousedown="Scrolling(0, -10)"  onmouseup="ScrollingOFF()">крутить mouse</button> -не работает

</body>

</html>

trikadin 03.04.2015 19:49

// кнопки прокрутки
<script>
var timeout;
function Scrolling(y) {
 console.log(1);
 timeout= setTimeout(function(){ Scrolling(10) }, 20 )
 window.scrollBy( 0, y)
}

function ScrollingOff() {
 console.log(2);
 clearTimeout(timeout);
}

document.onmouseup= ScrollingOff;
</script>
<button onmousedown="Scrolling(10)">крутить</button>
<div style="height: 1000px;"></div>


Не могу понять в чем проблема

trikadin 03.04.2015 19:50

рони, раньше)

prizvel 04.04.2015 03:22

Спасибо большое, работает)


Часовой пояс GMT +3, время: 07:19.