Проблема с нахождением элементов jQuery

269
09 января 2017, 22:49

Использую canvas как фон для некого div. При нажатии на "кнопку" отображаются дополнительные объекты и canvas. С помощью jQuery получаю положение этих объектов в пикселях и на canvas рисую линию от объекта до "кнопки". Код работает нормально для самого первого примера, но при нажатии на следующую "кнопку" часть кода игнорируется:

target.closest(".contain").find(".servers .object").each(function(){
   ctx.moveTo(pos_x, pos_y_1);
   ctx.lineTo(pos_x, pos_y_2);
   pos_x += width;
});

Т.е. он не находит "объекты" и не производит рисовку. Никак не могу понять с чем это связано. Чтобы было более понятно привожу весь код здесь: http://codepen.io/anon/pen/xgGGoN

Answer 1

Разобрался. Проблема оказалась не в селекторах, а в возвращаемых значениях. Потому как .position возвращает координаты относительно документа. Я же предполагал, что возвращаемое значение происходит относительно родительского элемента. Т.о. я пытался нарисовать линию за пределами canvas и она конечно же не отображалась.

Читайте документацию и не позорьтесь. Ссылка на документацию: https://api.jquery.com/position/

READ ALSO
Запись данных в объект

Запись данных в объект

ЗдравствуйтеУже мучаюсь второй день в поисках ответа на поведения js

224
Checkbox Jquery. Всем по name

Checkbox Jquery. Всем по name

ПриветствуюЕсть несколько табов со списком юзеров

269
Универсальная функция для waypoint

Универсальная функция для waypoint

Доброго времени суток)

287