Скроллинг по горизонтали мышкой

192
24 апреля 2019, 23:00

Как сделал я:

//Скрол мышкой 
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"); 
  }); 
}; 
//Скрол мышкой 
$(function() { 
  $('.block').draggable({ 
    revert: true, 
    zIndex: 100, 
    revertDuration: 0, 
    helper: "clone" 
  }); 
});
.scroll { 
  height: 200px; 
  overflow-x: auto; 
  width: 300px; 
  cursor: all-scroll; 
  display: flex; 
} 
 
.block { 
  padding: 5px; 
  border: 1px solid #000; 
  margin: 5px; 
  background: #fff; 
  width: 100px; 
} 
 
.sortable.hover { 
  background: #cac3c3; 
} 
 
.sortable { 
  border: 1px solid red; 
  padding: 25px 5px 5px; 
  width: 120px; 
  height: 100% 
} 
 
.title { 
  position: absolute; 
  top: 15px; 
}
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
<div class="scroll"> 
 
  <div class="sortable" data-block="1"> 
    <div class="block"> 
      Блок1 
    </div> 
    <div class="block"> 
      Блок2 
    </div> 
    <div class="block"> 
      Блок3 
    </div> 
  </div> 
  <div class="sortable" data-block="2"> 
    <div class="block"> 
      Блок11 
    </div> 
    <div class="block"> 
      Блок12 
    </div> 
    <div class="block"> 
      Блок13 
    </div> 
  </div> 
  <div class="sortable" data-block="3"> 
    <div class="block"> 
      Блок11 
    </div> 
    <div class="block"> 
      Блок12 
    </div> 
    <div class="block"> 
      Блок13 
    </div> 
  </div> 
 
</div>

В чем проблема: у меня еще стоит draggable и когда используется скрипт скролла, он не дает работать draggable

То есть они не хотят работать вмести, либо скролл либо драг

Как сделать, чтобы они работали вмести, может есть другой скрипт скролла мышкой

Если я правильно понимаю, то scr.mousedown перехватывает все движения мышки, можно как-то оградить block от mousedown и mouseup?

READ ALSO
Получение wav звука из созданной dll библиотеки

Получение wav звука из созданной dll библиотеки

Необходимо получить звук из созданной библиотеки

176
Не работает стандартная тригонометрия

Не работает стандартная тригонометрия

Задаю двумя точками направлениеОт первой точки влево и вправо на 90 градусов от направления нужно прорисовать ещё по одной точке (на заданном...

156
Реализация стандартных кнопок и поведения

Реализация стандартных кнопок и поведения

Так как Window имеет WindowStyle="None" необходимо воссоздать стандартные кнопки:

147
VSCode: Как сдвинуть выделенный код в multi-line режиме?

VSCode: Как сдвинуть выделенный код в multi-line режиме?

Всем привет! Банально не понимаю как сдвинуть выделенные строки кода на один пробел влево или вправо(имеется в виду не табуляция, а именно...

399