Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.05.2012, 22:07
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

offset() считает по разному
добрый день!
при первой загрузке браузера console.log($("#area").offset()) выдаёт одну величину (301), при обновлении браузера выдаёт другую величину (693). Подскажите в чём причина, и как добиться возвращения одной единственно правильной величины.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.05.2012, 22:53
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Я могу предположить что нельзя использовать в данном случае ready а надо писать по событию load
window.onload= function(){console.log($("#area").offset())}
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2012, 23:08
Аспирант
Отправить личное сообщение для observer Посмотреть профиль Найти все сообщения от observer
 
Регистрация: 11.11.2011
Сообщений: 96

Сообщение от vadim5june Посмотреть сообщение
...по событию load
window.onload= function(){
Вы сейчас взяли и стерли все обработчики (window.onload) написанные до этой строки... а вдруг они были кем-то до вас определены?

И уж если вы используете jQuery, то через него событие и привязывайте.
Ответить с цитированием
  #4 (permalink)  
Старый 19.05.2012, 23:21
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от observer Посмотреть сообщение
Вы сейчас взяли и стерли все обработчики (window.onload) написанные до этой строки... а вдруг они были кем-то до вас определены?

И уж если вы используете jQuery, то через него событие и привязывайте.
сейчас нужно лишь определить причину-может и не в этом дело-а что делать потом пусть автор решает
Ответить с цитированием
  #5 (permalink)  
Старый 19.05.2012, 23:33
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

windows.onload = ...
увы не помогло
Ответить с цитированием
  #6 (permalink)  
Старый 19.05.2012, 23:34
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Приведите код если не большой
Ответить с цитированием
  #7 (permalink)  
Старый 19.05.2012, 23:36
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

window.onload= function(){ // было $(document).ready(function() {

var coords = $("#area").offset();
var coordY = coords.top; //координата Y окна area
var coordX = coords.left; //координата Х окна area

console.log(coordX);

var step = 10000 / $("#area").width(); // 1пиксель = step рублей
$("#area").click(function(e) {
var x = e.clientX;
var y = e.clientY ;
var summ = Math.round((x - coordX)*step)+5000;
var left = x - coordX+15;
console.log(left);
$("#counter").text(summ);
$("#x").css({
"left" : left
});
});
};
Ответить с цитированием
  #8 (permalink)  
Старый 19.05.2012, 23:37
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

это должен быть ползунок, изменяющий сумму от и до
Ответить с цитированием
  #9 (permalink)  
Старый 19.05.2012, 23:40
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

что характерно offset.left меняет своё значение, а offset.top - нет
Ответить с цитированием
  #10 (permalink)  
Старый 19.05.2012, 23:44
Интересующийся
Отправить личное сообщение для makcstroi Посмотреть профиль Найти все сообщения от makcstroi
 
Регистрация: 19.05.2012
Сообщений: 14

блок с id=area находиться приблизительно-примерно в середине экрана, именно его координаты (левого верхнего угла и требуется найти). Это рабочая область ползунка
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Другой взгляд на javascript Дубров Олег Javascript под браузер 24 27.05.2017 09:15
Почему калькулятор не считает? Filja Общие вопросы Javascript 10 25.03.2015 10:40
event offset client cyber Events/DOM/Window 17 08.05.2012 17:18
JS не считает Detex Общие вопросы Javascript 7 01.03.2011 16:46
onmouseover отрабатывает по разному для одинаковых ячеек таблицы ilshat Events/DOM/Window 2 11.02.2009 12:25