#javascript #jquery #css
#javascript #jquery #css
Вопрос:
Я создаю простой слайдер с возможностью перетаскивания. На данный момент я использую pageX
для определения позиции, например, так:
var dragdir = 0,
drag = null;
$('article.small-section').on('mousedown', function(ev) {
drag = 1;
dragdir = ev.pageX;
if(drag) {
$(this).css('cursor','move');
}
}).on('mouseup', function(e){
drag = null
if(!drag) {
$(this).css('cursor','initial');
$(this).css('left','0')
}
});
$('article.small-section').on('mousemove', function(e) {
if(drag) {
if(dragdir > e.pageX) {
//console.log(dragdir '|' e.pageX)
if(dragdir > e.pageX 100) {
$(this).parent('section').cycle('prev');
}
$(this).css('right','');
$(this).css('left','-' (parseInt(e.pageX/10)) 'px');
} else {
if(dragdir < e.pageX-100) {
$(this).parent('section').cycle('next');
}
$(this).css('left','');
$(this).css('right','-' (parseInt(e.pageX/10)) 'px');
}
}
});
Он отлично работает при перетаскивании вправо. Влево — это происходит, затем он отступает (или вообще не перемещается). Я заметил, что pageX
это происходит — вот в чем проблема. Как я могу это исправить?
Рабочая скрипка: http://jsfiddle.net/2jEJH/1 /
Комментарии:
1. в вашей скрипке есть неопределенные ошибки. Почему вы не используете перетаскиваемый jquery?
2. Исправлено (ошибки, вызванные отсутствующим плагином, здесь не нужны). Я не хочу приводить весь jQUI для этого одного элемента.
3. Просто принесите перетаскиваемые / удаляемые и основные элементы, необходимые для этого?
4. 40 КБ / с, это мое последнее средство, поскольку я стремлюсь к максимально легкому материалу.