[jQuery UI] draggable - подсчет перемещения относительно старого положения

12
dimidrol
На сайте с 29.09.2005
Offline
191
1334

http://jsfiddle.net/endemic/FvmuT/

Скрипт, jquery+ui. В скрипте при перемещении вычисляется положение div относительно угла. Как подсчитать значение между началом движения и концом движения (проще говоря - пройденый путь).

Спасибо.

Иногда полезно проигрывать - это держит тебя в тонусе... Мне так рассказывали (с) Shark Покупаю сайты (стройка/отделка/стройматериалы) по адекватной цене. Предложения в личку. Траф - обязателен
Timotty
На сайте с 13.09.2012
Offline
20
#1

http://jsfiddle.net/Rv9BY/

$(document).ready(function(){   


$('#move').draggable({
axis: 'x',
start: function(e,ui){ },
stop: function(e,ui) {

var x1 = ui.position.left;
var x2 = $('#total').html() -0;
var x3 = x2 + x1;


$('#res').html(x1);
$('#total').html(x3);
}
});
});​

<div id="move"></div>

<div id="res"></div>
<div id="total">0</div>​

CSS файл без изменений

dimidrol
На сайте с 29.09.2005
Offline
191
#2

Не совсем то что требовалось. Решение указано по ссылке. для хранения значения начального положения блока создается div c visible hidden и в нем хранится значение на старте. Передать значение между start: и stop: мне не удалось. Если есть какие либо рекомендации - welcome.

http://jsfiddle.net/endemic/FvmuT/

Timotty
На сайте с 13.09.2012
Offline
20
#3

Это называется не пройденный путь, а позиция от начала координат. Пройденный путь не может быть отрицательным :>

D
На сайте с 14.01.2007
Offline
153
#4
Timotty
На сайте с 13.09.2012
Offline
20
#5

Я имел ввиду что если вы встаните посреди дороги и пойдете назад, скажем домой, по сути вы проходите путь т.е. +, а не -, пройденный путь это всегда не отрицательное значение , понятно? :>

D
На сайте с 14.01.2007
Offline
153
#6

Timotty, вы меня ни с кем не перепутали?

Timotty
На сайте с 13.09.2012
Offline
20
#7

Dinozavr,так вы скинули идентичный код что и dimodrol, или я что-то путаю? Я думал вы не поняли о чём речь, извините если это так :>

D
На сайте с 14.01.2007
Offline
153
#8

это называется - сам себе злобный буратино:) забыл на "Update" нажать

http://jsfiddle.net/egtzv/1/

dimidrol
На сайте с 29.09.2005
Offline
191
#9

меня интересовало

Как подсчитать значение между началом движения и концом движения

а не от начала координат или левого края.

Timotty у вас скрипт считал сумму координат при каждой остановке от левого края. Для проверки уведите серый блок вправо и делайте маленькие перемещения, удитете что сумма растет непропорционально движению. Спасибо Dinozavry за решение, у меня из stop в start значение x0 не передавалось почему то.

Всем спасибо за поиски.

S5
На сайте с 04.01.2010
Offline
77
#10

к чему такие костыли? Есть 2 события - начало перемещения и конец перемещения. В начале запомните координаты начала, в конце - конца (я прям кэп!). Дальше математика и результат. В чем проблема то?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий