Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.03.2016, 05:18
Интересующийся
Отправить личное сообщение для dezzignet Посмотреть профиль Найти все сообщения от dezzignet
 
Регистрация: 19.07.2012
Сообщений: 18

Скролл контента удержанием левой кнопки мыши
Есть широкие таблицы, которые никак не вписываются в ширину сайта.
Простой CSS overflow-x: scroll; не всегда уместен, т.к таблицы бывают длинные в высоту и чтобы передвинуть содержимое таблицы приходится листать вниз до скроллбара.
Может кто знает как реализовать такой скролл, чтобы пользователь нажимал левую кнопку мыши и удерживая перемещал контент, который не влез в ширину блока.
Ответить с цитированием
  #2 (permalink)  
Старый 15.03.2016, 17:26
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

dezzignet,
Вот простенький макет
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Скроллинг мышью</title>
<style type="text/css">
.scroll 
{   position:absolute;
    top:10px;
    left:100px;
	height: 100px;
	overflow-x: auto;
	width: 200px;
       cursor: all-scroll;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
    window.onload = function () {
        var scr = $(".scroll");
        scr.mousedown(function () {
            var startX = this.scrollLeft + event.pageX;
            var startY = this.scrollTop + event.pageY;
            scr.mousemove(function () {
                this.scrollLeft = startX - event.pageX;
                this.scrollTop = startY - event.pageY;
                return false;
            });
        });
        $(window).mouseup(function () {
            scr.off("mousemove"); 
        });
    }
</script>

</head>
<body>
<div class="scroll">
<table>
<tr>
  <td>111111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>211111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>311111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>411111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>511111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>611111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
<tr>
  <td>711111</td><td>222222</td><td>333333</td><td>444444</td><td>555555</td><td>666666</td>
</tr>
</table>
</div>
</body>
</html>

Последний раз редактировалось Dilettante_Pro, 15.03.2016 в 17:38.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход по ссылке при помощи правой кнопки мыши. SERGEY_121 Общие вопросы Javascript 3 02.11.2015 00:14
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
зажати кнопки мыши hangover Events/DOM/Window 1 12.10.2009 05:51
мыши, кнопки, event.button и other browsers, but not in IE idudiq Events/DOM/Window 1 03.10.2009 11:09
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 17:03