Для реализации функции Grab скролла в галерее нулевого блока с использованием символа Тильда, вы можете использовать следующий код на языке JavaScript:
```javascript
const gallery = document.querySelector('.gallery'); // выберите элемент с классом "gallery"
gallery.addEventListener('mousedown', function(event) {
event.preventDefault();
const startX = event.clientX; // начальная позиция курсора по оси X
const scrollLeft = gallery.scrollLeft; // текущий скролл галереи
// обработчик движения курсора при нажатой кнопке мыши
function handleMouseMove(event) {
const x = event.clientX; // текущая позиция курсора по оси X
const walk = (x - startX) * 2; // сколько прокручивать галерею (увеличиваем скорость в 2 раза)
gallery.scrollLeft = scrollLeft - walk; // прокручиваем галерею
}
// обработчик отпускания кнопки мыши
function handleMouseUp() {
gallery.removeEventListener('mousemove', handleMouseMove);
gallery.removeEventListener('mouseup', handleMouseUp);
}
gallery.addEventListener('mousemove', handleMouseMove);
gallery.addEventListener('mouseup', handleMouseUp);
});
```
Здесь мы добавляем слушатель события `mousedown` для элемента галереи, который реагирует на нажатие кнопки мыши. В обработчике события мы сохраняем начальную позицию курсора и текущий скролл галереи. Затем мы добавляем обработчики событий `mousemove` и `mouseup` для слежения за движением мыши и отпусканием кнопки мыши соответственно.
В обработчике `mousemove` мы вычисляем, насколько нужно прокрутить галерею, и применяем новое значение к свойству `scrollLeft` у элемента галереи. При отпускании кнопки мыши удаляем оба обработчика событий, чтобы прекратить слежение и инерцию скролла.