Я создал следующий javascript, который будет использоваться на моем веб-сайте, основанном на jQuery. Что он делает, это перемещать слайдер вверх/вниз и масштабировать элемент выше выше/меньше.Global mouseMove
Все работает нормально, но поскольку ползунок имеет высоту всего несколько пикселей, а событие перемещения немного медленное (оно не срабатывает для каждого пикселя), поэтому, когда я быстро перемещаю мышь, слайдер не может удерживайте, и мышь выйдет из элемента слайдера. Событие mouseMove больше не запускается, так как оно привязано к ползунку. Я думаю, все можно было бы исправить, установив globalMouseMove на весь сайт, но это не сработает, или, по крайней мере, я не знаю, как это сделать. Должен ли он быть документом или телом?
вот мой текущий код для слайдера:
$.fn.resize = function (itemToResize) {
MinSize = 100;
MaxSize = 800;
pageYstart = 0;
sliderMoveing = false;
nuskriverHeight = 0;
this.mousedown(function(e) {
pageYstart=e.pageY;
sliderMoveing = true
nuskriverHeight = parseFloat((itemToResize).css('height'));
});
this.mouseup(function() {
sliderMoveing = false
});
this.mousemove(function(e) {
if (sliderMoveing) {
(itemToResize).css('height', (nuskriverHeight + (e.pageY - pageYstart)));
if (parseFloat((itemToResize).css('height')) > MaxSize) { (itemToResize).css('height', MaxSize) };
if (parseFloat((itemToResize).css('height')) < MinSize) { (itemToResize).css('height', MinSize) };
};
});
};
Спасибо за любую помощь, очень ценится
Это сделал трюк, спасибо :) На самом деле, что объясняющие намного больше, чем просто этой конкретной проблемы для меня: D Спасибо вы! –
Но что, если элемент или один из его родителей называют 'stopPropagation()'? Есть ли способ инициировать событие onmousemove во всем мире (для 'document' или' window') в любом случае без использования таймеров? – StanE