Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как запретить вертикальную прокрутку страницы при грозонтальной прокрутке внутреннего div?
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Как запретить вертикальную прокрутку страницы при грозонтальной прокрутке внутреннего div?

Страниц (1): [1]
 

1. shurik_7866 - 28 Марта, 2016 - 08:57:19 - перейти к сообщению
Для div#album_list реализована горизонтальная прокрутка при прокрутке колесика миши

Но при горизонтальной прокрутке элементов div одновременно идет прокрутка страницы.
Как запретить прокрутку страницы когда идет прокрутка div

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <style>
  3. div#album_list{
  4.         overflow-x: scroll;
  5.         height: 225px;
  6.         width: 800px;
  7.         white-space: nowrap;
  8.         background-color: red;
  9.         border: 2px solid black;
  10.         position: relative;
  11. }
  12. div.album{
  13.         display: inline-block;
  14.         background-color: blue;
  15.         width: 200px; height: 200px;
  16.         padding: 0px; margin: 0px;
  17.         border: none;
  18. }
  19. div.album_separator{
  20.         display: inline-block;
  21.         height: 200px; width: 20px;
  22.         background-color: white;
  23.         padding: 0px; margin: 0px;  
  24.         border: none;
  25. }
  26. </style>
  27. <br>1<br><br>1<br><br>1<br><br>1<br><br>1<br><br>1<br><br>1<br>
  28. <div id='album_list'>
  29. <div class="album">1</div><div class="album_separator">&nbsp;</div><div class="album">&nbsp;</div><!--
  30. --><div class="album_separator">&nbsp;</div><div class="album">&nbsp;</div><!--
  31. --><div class="album_separator">&nbsp;</div><div class="album">&nbsp;</div><!--
  32. --><div class="album_separator">&nbsp;</div><div class="album">&nbsp;</div><!--
  33. --><div class="album_separator">&nbsp;</div>
  34. </div>
  35. <br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br><br>2<br>
  36.  



CODE (javascript):
скопировать код в буфер обмена
  1. <script>
  2.         //Собственно сам скрипт выполняющий прокрутку div#album_list
  3.         function scroll_albums(event) {
  4.                 var div = document.getElementById("album_list");
  5.             if ((event.wheelDelta || event.detail) > 0) //або 1 або 2 mousewheel для різних браузерів
  6.                 div.scrollLeft -= 30;
  7.             else
  8.                 div.scrollLeft += 30;
  9.             return false;
  10.         }
  11.        
  12.         var div = document.getElementById("album_list");
  13.         if (div.addEventListener) {
  14.                 // IE9, Chrome, Safari, Opera
  15.                 div.addEventListener("mousewheel", scroll_albums);
  16.                
  17.                 // Firefox
  18.                 div.addEventListener("DOMMouseScroll", scroll_albums);
  19.         }
  20.         else {
  21.                 // IE 6/7/8
  22.                 div.attachEvent("onmousewheel", scroll_albums);
  23.         }
  24. </script>
  25.  

 

Powered by ExBB FM 1.0 RC1