2013-10-14 2 views
0

У меня есть запрос с простой демонстрацией, я хочу остановить прокрутку на кнопке 1 и кнопку 2, а затем прокрутка будет возобновлена. Я не знаю, как это сделать?Остановить и возобновить страницу прокрутки на кнопке нажмите

Fiddle here

Html

<input type='button' value='stop scroll' id='btn1'> 
    <input type='button' value='resume scroll' id='btn2'> 
     <div> Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, ... <div> 
+0

, что именно вы имеете в виду с «остановкой прокрутки»? попробуйте объяснить, пожалуйста, – geevee

+0

не могли бы вы объяснить, что вы подразумеваете под «остановкой прокрутки» и «возобновлением прокрутки»? –

+0

Остановить прокрутку страницы не удается прокрутить по колесу мыши –

ответ

2

Хотите ли вы этого?

$(document).ready(function(){ 
    var allowScroll = true; 

    $("div").on('mousewheel DOMMouseScroll',function(e){ 
     if (!allowScroll){ 
      e.preventDefault(); 
     } 
    }); 

    $('#btn1').click(function(){ 
     allowScroll = false; 
    }); 

    $('#btn2').click(function(){ 
     allowScroll = true; 
    }); 

}); 

DEMO

+0

Пока вы понимаете, что это * только * останавливает действие прокрутки, а не другие методы навигации по страницам, например, клавиши со стрелками, страница вверх и т. д. – gvee

+0

@gvee: OP указывает следующее: 'Stop scroll me page не может прокручивать колесо мыши вниз в своем комментарии. –

+0

Привет, Хан, я видел его комментарий. Я просто хочу убедиться, что OP (и будущие читатели) ценят, что остановка прокрутки мыши не означает остановки навигации :) – gvee

0

я думаю, что вы можете добавить обработчик к «колесом прокрутки» событие (используйте jquery-mousewheel для поддержки браузера) и сделать что-то вроде:

$('#my_elem').bind('mousewheel', function(event, delta, deltaX, deltaY) { 
    event.preventDefault(); //to prevent the default action 
    // or $("html, body").scrollTo(0); 
}); 
Смежные вопросы