смещение jquery ();не работает - PullRequest
0 голосов
/ 05 декабря 2011

У меня есть этот код:

$("#pile2_3").click(function() {

          alert($("#cardSelected").offset());

});

<div id="cardSelected"></div>

и он продолжает возвращать значение [объект объекта] в окне предупреждения, что может быть не так? Спасибо.

Ответы [ 4 ]

5 голосов
/ 05 декабря 2011

$().offset() возвращает объект. Однако вам нужно получить доступ к его свойствам:

$("#cardSelected").offset().top;

$("#cardSelected").offset().left;

Или console.log( $("#cardSelected").offset() ), чтобы увидеть все доступные реквизиты.

2 голосов
/ 05 декабря 2011

.offset() работает просто отлично.Он возвращает объект, который выглядит примерно так:

{left: 42, top: 9000}

Это alert(), что отстой. Он всегда преобразует свои аргументы в строки, а Object.prototype.toString это функция, которая в основном простовозвращает строку [object Object].

Используйте console.log() для отладки, а не alert().

0 голосов
/ 05 декабря 2011

смещение - это объект.

 var offset = $("#cardSelected").offset();
 alert(offset.left);
0 голосов
/ 05 декабря 2011

Функция смещения возвращает объект со свойствами left и top.

Попробуйте следующее:

var offset = $("#cardSelected").offset();
alert('Left: ' + offset.left + ', Top: ' + offset.top);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...