Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666

Какая замена в IE7 свойству offsetLeft?

10.07.2014, 21:18. Показов 2004. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
a? подскажите, пожалуйста
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2014, 21:18
Ответы с готовыми решениями:

OffsetLeft при position - absolute
Камрады, HELLO. Что есть: div в нем span, который имеет значение left. Значение position для div - relative, для span - не задано. ...

Определение абсолютных координат картинки через offsetTop и offsetLeft
Есть следующая проблема - при определении абсолютных координат картинки через offsetTop и offsetLeft получить правильные координаты удается...

Какая нужна замена?
поясните пожалуйста какая нужна замена и почему?

13
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
11.07.2014, 02:59
Johnlion, уточните, что нужно.

В общем случае, - неплохо подходит element.getBoundingClientRect();
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
11.07.2014, 11:27  [ТС]
Tatikoma, мне нужно расстояние от левого края div'a до левого края окна, как это сделать, чтоб в ИЕ7 работало?
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
11.07.2014, 15:23
Лучший ответ Сообщение было отмечено Johnlion как решение

Решение

А, ну так это ровно то что вам нужно!

JavaScript
1
2
var bcr = element.getBoundingClientRect();
alert(bcr.left);
Причем обратите внимание, что это именно от левого края окна, а не документа! Если понадобится от документа - прибавите scrollLeft.

К слову, этот подход быстрее и точнее, - используйте offsetParent/offsetLeft только при недоступности метода getBoundingClientRect.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
11.07.2014, 16:43
Цитата Сообщение от Tatikoma Посмотреть сообщение
К слову, этот подход быстрее и точнее
ух ты! а мужики то и не знали!

на какой олимпиаде свойства offsetLeft|Top соревновались со свойствами left|top объекта TextRectangle ?

и где можно получить официальный протокол с результатами соревнований, из которого видно, что:

а) вторые свойства быстрее первых на ХХХ милли(микро-, нано-, зепто-)секунд ?
б) погрешность вторых свойств меньше таковой у первых ?


Не по теме:

терпеть ненавижу любителей красивых словечек
любой всплывающий div у них - "модальное" окно
всякий редкоиспользуемый метод у них "точнее" и "быстрее"

0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
11.07.2014, 17:15
Язвить не обязательно, я с удовольствием отвечу на ваши вопросы.

Цитата Сообщение от kalabuni Посмотреть сообщение
на какой олимпиаде свойства offsetLeft|Top соревновались со свойствами left|top объекта TextRectangle ?
С чего вы взяли что они соревновались? - Мне о таких соревнованиях не известно, если услышите что-то - дайте знать.

Цитата Сообщение от kalabuni Посмотреть сообщение
вторые свойства быстрее первых на ХХХ милли(микро-, нано-, зепто-)секунд ?
В зависимости от реализации вызов этих методов может занимать различное время. Если смотреть на актуальную версию chromium-browser - результат скорее обратный, использование getBoundingClientRect будет занимать на порядок больше времени.

Цитата Сообщение от kalabuni Посмотреть сообщение
погрешность вторых свойств меньше таковой у первых ?
Это личный опыт. Почитайте в интернете, - многие разработчики сталкивались с тем, что в разных браузерах эти свойства косячат по-разному на сложной верстке. Крайне рад, что вам не приходилось с этим сталкиваться.

-----

Я не троллю, я прекрасно понимаю, что вы имеете в виду. Однако хочу обратить ваше внимание, что вы невнимательно читали то, что я пишу.
А пишу я что быстрее именно подход, а не полученный код. Написать вызов одной функции - явно быстрее, нежели писать функцию итерирующую offsetParent. Я говорю о чистом JS, т.к. в теме обсуждается чистый вариант - в противном случае автор использовал соответствующие методы фреймворка, а не offsetLeft.

Не по теме:

Цитата Сообщение от kalabuni Посмотреть сообщение
терпеть ненавижу любителей красивых словечек
Это ваши личные половые трудности.
Цитата Сообщение от kalabuni Посмотреть сообщение
любой всплывающий div у них - "модальное" окно
Модальным окном называется любое окно блокирующее работу с приложением. Передайте этим людям, что любой всплывающий блок не может считаться модальным окном.
Цитата Сообщение от kalabuni Посмотреть сообщение
всякий редкоиспользуемый метод у них "точнее" и "быстрее"
Это вероятно камень в мой огород? - Я далеко не всякий метод обзываю точнее и быстрее.

0
11.07.2014, 17:30

Не по теме:

Tatikoma, монологи для Петросяна писать не пробовали?

0
11.07.2014, 17:37

Не по теме:

kalabuni, уточните пожалуйста - вы считаете мой текст смешным или нет?

Мне просто не кажется, что у товарища Петросяна - смешные шутки, а следовательно вы имеете в виду что мой текст не смешной.

Соответственно мне не ясен смысл вашего комментария, т.к. ответ на вопрос на форуме программистов и не обязан быть смешным.

Если предположить, что собеседник не идиот и смысл всё-таки есть, то можно предположить следующее:
1. Вы интересуетесь не пишу ли я монологи для Петросяна, т.к. моё сообщение - смешное.
2. Т.к. моё сообщение смешное и вы предположили что я пишу монологи для Петросяна - вы считаете юмор Петросяна смешным.
Я не имею ничего против творчества этого человека, но нахожу немного странными тех людей, которые от него фанатеют. Вы странный.

0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
11.07.2014, 20:00  [ТС]
Tatikoma, а отступ от правого края блока до правого края окна? bcr.right что-то очень большое число показывает
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
11.07.2014, 20:43
Johnlion, отступ справа = ширина экрана - отступ слева - ширина элемента.
1
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
12.07.2014, 04:00
kalabuni, http://jsperf.com/offset-vs-getboundingclientrect
+ http://jsperf.com/offset-vs-ge... ientrect/7

Цитата Сообщение от kalabuni Посмотреть сообщение
и где можно получить официальный протокол с результатами соревнований, из которого видно, что:
а) вторые свойства быстрее первых на ХХХ милли(микро-, нано-, зепто-)секунд ?
ты же не заверяешь с нотариусом каждую строчку своего кода.

Не по теме:

хотя твой код такой грязный, что его никто заверять и не стал бы

0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.07.2014, 05:39
nubideus, ресурсом пользоваться не умеете

см. последнюю ревизию -- http://jsperf.com/offset-vs-ge... entrect/14 -- во всех браузерах свойство offset возвращает значение значительно быстрее
0
388 / 275 / 76
Регистрация: 19.09.2011
Сообщений: 828
12.07.2014, 13:15
Цитата Сообщение от kalabuni Посмотреть сообщение
см. последнюю ревизию -- http://jsperf.com/offset-vs-ge... entrect/14 -- во всех браузерах свойство offset возвращает значение значительно быстрее
лол, там же написано:
operations per second (higher is better)
чем полосочка длиннее, тем лучше

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function fullOffset(elm) {
    
  var offsetTop = elm.offsetTop,
    offsetLeft = elm.offsetLeft,
    elm = elm.offsetParent;
 
  while (elm !== null) {
    offsetTop += elm.offsetTop;
    offsetLeft += elm.offsetLeft;
    elm = elm.offsetParent;
  }
 
  return {
    left: offsetLeft,
    top: offsetTop
  };
}
будто бы при таком коде getBoundingClientRect может быть медленнее

Цитата Сообщение от kalabuni Посмотреть сообщение
ресурсом пользоваться не умеете
см. последнюю ревизию
см. я сделал еще одну последнюю ревизию
http://jsperf.com/offset-vs-ge... entrect/15
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
12.07.2014, 23:35
http://tati.pro/1225735/speed-test.html (что к чему - см. сурсы)
Как-то у меня в chromium/linux - offset'ы шустрее работают в 1.5-3 раза.

Но тут опять-таки от вложенности еще зависит. Что ни разу не меняет того, что оффсеты косячат.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.07.2014, 23:35
Помогаю со студенческими работами здесь

Для введенного целого трехзначного числа определить, какая цифра в числе является первой, какая второй и какая третьей
Разработать программу, которая для введенного целого трехзначного числа определяет, какая цифра в числе является первой, какая – второй и...

Before/after в ie7
кто нибудь может подсказать как можно сделать эмуляцию before/after в ie7 что бы не плодить лишнюю разметку? пробовал такой способ, но...

IE6, IE7
Зарание прошу прощения если создал тему не там где надо!! А вопрос в общем такой: Какие основные правела надо собюсти чтоб веб...

виснет IE7
В >html< реализовано выпадающее меню с сылками типа: >td class="mainmenu >a rel="dropmenu1" href="# ...

Анимация в IE7,8
Всем добрый день возникла такая проблема, делаю шаблон, сделал чтобы был там анимированный баннер, он работает в хроме,лисе 100% но в ие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru