Денис Букреев, как самый простой вариант, можете в VideoSlider.prototype.dnd:mousemove оба параметра сохранять как свойства экземпляра VideoSlider, а потом использовать их в setVideoTime.
Ну и cancelAnimationFrame, соответственно, придётся вызывать.
Владимир Муковоз, а как попросить nginx прервать передачу? И вероятно nginx должен не просто прервать передачу, а как-то еще сигнализировать об ошибке, чтобы передача в браузере завершилась моментально.
Т.к. findOne это асинхронный метод, то вам надо в checkUser передавать функцию (колбэк), которая будет выполняться после того как отработает findOne. В вашем случае вероятно стоит в качестве колбэка передавать функцию, которая будет вызывать send. Как вариант.
Иван Украинцев, "для каждого инструмента должна быть своя задача" - верно, и в данной задаче класс был бы гораздо более подходящим вариантом, потому что он является просто меткой, а ID как раз существует не для этого, как минимум из-за логики связанной с ID и выполняющейся при инициализации документа. Более того, ваш хардкод в виде прописывания конкретных связей вручную это совсем лишнее, достаточно было бы просто описать связи относительно, они ведь у вас статичные.
"Понимаю, что БЭМ всему голова, но и он не запрещает использовать id." - о том, что нельзя использовать ID написано в первых строках любых материалов, описывающих BEM naming conventions.
Денис Букреев, ну, можно конечно повесить бесконечный вызов animationFrame как вам подсказывают, но я бы предложил вам сделать по-человечески: вызывать animationFrame только когда пользователь двигает ползунок.
В первом варианте вы просто добавляете в VideoSlider.prototype.setVideoTime в конце вызов requestAnimationFrame( it.setVideoTime ) и вызываете setVideoTime в init. Во втором варианте в mousedown добавляете установку некого флага в true и вызов this.setVideoTime, а в mouseup установку того же флага в false, после чего в VideoSlider.prototype.setVideoTime надо делать вызов requestAnimationFrame( it.setVideoTime ) с проверкой того самого флага: true - вызвать запросить фрейм еще раз, false - не запрашивать.
sergey_from_saratov, у вас попеременно выполняются обработчики, вы же их оба вешаете на нижний элемент, который перекрывается верхним, который в свою очередь появляется когда вы ховерите нижний)
Говоря "У меня это будет галереей с товарами, когда на кубик вывожу генерируется другой кубик и накладывается поверх красного." вы имеете в виду, что в одном месте будет много кубиков, да? Если да, то почему вас не устраивает вариант предложенный в ответе?
Olek1, так-то оно так, но мне казалось, что если я правильно угадал и ТС действительно хочет прекращать передачу данных если клиент закрыл страницу, то это делается как-то так: фронт по unload посылает запрос на сервер (который вероятно на PHP), PHP наверное просит nginx прекратить передачу. Я неправильно понимаю?
ligisayan, ещё добавлю от себя, что когда-то я тоже дебажил сайт на вордпрессе и очень не хотел читать документацию. Чтобы отследить связи приходилось проверять существование функций из разных файлов. Это идиотизм и я жалею что потратил на это время. Лучше было всё-таки прочитать кодекс.
Дмитрий, в очередной раз предположу, что просто фичи выкатываются постепенно: сначала выкатили возможность голосовать за сложность вопроса, чуть позже выкатят фильтр по сложности. Но это предположение ни на чем не основано.
1. Кажется это уже не имеет отношения к вордпрессу,
2. Наоборот - это странно. Лучше все-таки выясните, какие именно файлы/шаблоны/темы у вас используются, чтобы иметь полное понимание происходящего,
3. Как вариант.
Артём, так это, зачем вы просто взяли и вынесли проверку ID? Вы пытаетесь замаскировать проблему, откреститься от неё, лучше её решить, например обращаться только к элементу который находится в текущем слайде.
У вас в plane всё так же лежит ссылка на первый элемент с этим ID. Можете проверить - выводить в консоль свойства plane, увидите что они меняются. Не верите - можете глянуть в инспекторе как меняются стили первого plane при ховере.
Ну и cancelAnimationFrame, соответственно, придётся вызывать.