Использую 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
Разобрался. Проблема оказалась не в селекторах, а в возвращаемых значениях. Потому как .position возвращает координаты относительно документа. Я же предполагал, что возвращаемое значение происходит относительно родительского элемента. Т.о. я пытался нарисовать линию за пределами canvas и она конечно же не отображалась.
Читайте документацию и не позорьтесь. Ссылка на документацию: https://api.jquery.com/position/
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок