дескриптор дает свою позицию в соответствии со страницей, а не ее родителем, как я могу получить его левую позицию от своего родителя? - PullRequest
1 голос
/ 10 июля 2011

http://jsfiddle.net/nicktheandroid/TWKJb/5/

Как только вы захватите обработчик и начнете перетаскивать его, оставленные обработчики начинаются с 10px, они должны начинаться с 0px, если я добавлю 20px к отступу контейнера, он вытеснит дорожку слева еще на 20px когда я впервые беру ручку, она начинается с 30px ..

Таким образом, дескриптор получает свою левую позицию с самого левого края страницы. Обработчик должен указывать левую позицию от своего родителя (дорожки), а не с самого левого края страницы.

Может кто-нибудь сказать мне, что я сделал не так, чтобы ручка давала левое положение в соответствии со страницей, а не ее родителем? Я балуюсь этим часами>: (* ​​1008 *

1 Ответ

1 голос
/ 10 июля 2011

Если вы тестируете в Chrome, как я только что это сделал, то это может быть достаточно распространенная проблема, с которой у Chrome, похоже, есть .position(), в разделе комментариев на страница документации по Ajaho . Но это было опубликовано ранее в StackOverflow .

jQuery.fn.aPosition = function() {
    thisLeft = this.offset().left;
    thisTop = this.offset().top;
    thisParent = this.parent();

    parentLeft = thisParent.offset().left;
    parentTop = thisParent.offset().top;

    return {
        left: thisLeft-parentLeft,
        top: thisTop-parentTop
    };
};

На демонстрации я также установил position: relative; на дескриптор, так как он должен быть относительно его родителя.

Обновленная демоверсия: http://jsfiddle.net/TWKJb/6/

...