#javascript #image #position
#javascript #изображение #положение
Вопрос:
Я долго искал это в Google, но, похоже, никто не решает то же самое. Я довольно новичок в javascript, поэтому мой вопрос может быть глупым, заранее извините.
Я работаю над скриптом, который найдет все изображения на сайте и вернет набор параметров для каждого, включая положение изображения по x и y.
В FF и Chrome свойства obejct.x и object.y работают нормально, но в IE я получаю значение ‘undefined’. Знаете ли вы о каком-либо способе, которым я мог бы заставить IE возвращать мне положение изображений по X и Y? Это может быть даже относительно его родительского div, поскольку мне не нужно знать абсолютную позицию на странице.
Кроме того, я заметил, что есть разница в том, как FF и Chrome подсчитывают координаты, когда для положения изображения установлено значение relative. Chrome, похоже, считает это неправильно, поскольку на самом деле возвращает только верхнее и левое значения, в то время как FF корректно добавляет верхнее и левое значения к исходным значениям положения. Было бы неплохо, если бы вы знали трюк и для этого.
Хотя я полагаю, что в данном случае это не требуется, я прилагаю определенную часть кода.
функция showPos() {
var imgs;
imgs = document.getElementsByTagName('img');
for(i=0; i<imgs.length; i )
{
alert(imgs[i].x imgs[i].y);
}
}
Заранее спасибо и отличных каникул! Якуб
Ответ №1:
Вы могли бы заглянуть в библиотеку jQuery — у них есть кроссбраузерное решение для нахождения координат изображения. Вы можете использовать .offset(), чтобы найти положение относительно документа, или .position(), чтобы найти его относительно родительского параметра смещения.
Комментарии:
1. Это сложный способ заставить работать x-браузер, поэтому используйте что-нибудь, где это уже было выяснено 🙂
Ответ №2:
Вы пробовали свойства изображений offsetTop и offsetLeft?
Комментарии:
1. Большое вам спасибо, offsetTop и offsetLeft работают во всех браузерах и более того, они ведут себя одинаково во всех из них.