Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.05.2012, 21:53
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

вычесления позиции
как с минимальной нагрузкой на браузер вычислять позицию элемента - возник этот вопрос потому что вычиселние будет происходить во время события onmousemove.
надо получать свойство left
Ответить с цитированием
  #2 (permalink)  
Старый 11.05.2012, 23:59
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

все вроде нашел координаты мышки внутри div`а
Ответить с цитированием
  #3 (permalink)  
Старый 11.05.2012, 23:59
Интересующийся
Отправить личное сообщение для skymanrm Посмотреть профиль Найти все сообщения от skymanrm
 
Регистрация: 08.07.2011
Сообщений: 16

Вариантов наверное немного, на ум приходит только поочередно перебирать родителей и складывать offsetParent.offsetLeft пока не доберетесь до BODY. Чтобы не дергать каждый раз DOM, может быть легче будет один раз посчитать позицию элемента, а затем при его перемещение изменять её вручную.
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2012, 00:14
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

нашел такой код
function getOffsetRect(elem) {
    // (1)
    var box = elem.getBoundingClientRect()
    
    // (2)
    var body = document.body
    var docElem = document.documentElement
    
    // (3)
    var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop
    var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft
    
    // (4)
    var clientTop = docElem.clientTop || body.clientTop || 0
    var clientLeft = docElem.clientLeft || body.clientLeft || 0
    
    // (5)
    var top  = box.top +  scrollTop - clientTop
    var left = box.left + scrollLeft - clientLeft
    
    return { top: Math.round(top), left: Math.round(left) }
}
Ответить с цитированием
  #5 (permalink)  
Старый 12.05.2012, 00:15
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

пишу слайдер и нужна это затем что б расчитать позицию слайдера относительно блока.
Ответить с цитированием
  #6 (permalink)  
Старый 12.05.2012, 01:56
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от skymanrm Посмотреть сообщение
может быть легче будет один раз посчитать позицию элемента, а затем при его перемещение изменять её вручную.
пробывал много вариантов нечего не получается ...
Ответить с цитированием
  #7 (permalink)  
Старый 12.05.2012, 23:10
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

что возращает document.documentElement ?
дошло=) возращает <html>

Последний раз редактировалось cyber, 12.05.2012 в 23:27.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение позиции курсора мыши Severtain Общие вопросы Javascript 5 30.10.2013 16:35
Получение позиции курсора spahi4 Events/DOM/Window 0 12.02.2012 16:06
Определение позиции указателя мыши на web-странице Yan_by Общие вопросы Javascript 20 12.01.2012 02:21
наложить событие на смену позиции Nightmare jQuery 5 11.04.2011 13:02
Как получить слово по позиции текстового курсора в textarea. kageua Общие вопросы Javascript 0 24.12.2010 13:48