всплывающее окно справа от курсора
всем привет
завис над задачкой вроде простая, но отличается от того, что в гугле находится в общем есть список ссылок, при наведении на каждую должен подниматься $('#fancybox_div'), а в нём аяксом подгружается инфа затык на том, что я почему-то не могу через jQuery поймать текущее положение курсора, чтобы от него сместиться чуть правее вот так ссылка выглядит: <a href='#' onmouseover='where_is_cursor();fancybox(my_personal_setup_data,'X','Y');return false;'>ссылка</a> where_is_cursor() это отдельная ф-я, где я пытаюсь считать координаты мыши должна быть отдельной, потому что fancybox() получает уже готовые координаты XY курсор находится, но с предыдущего наведения... в общем вопрос: что надо положить во where_is_cursor() ? и второй вопрос: у меня почему-то в fancybox() не получается высчитать опять же текущую ширину блока, пока он скрыт, там происходит: $('#fancybox_div').show(200); alert($('#fancybox_div').outerWidth()); alert() выдаёт старую ширину, с предыдущего наведения на ссылку в первый раз вообще показывает 45 начальную ширину, а потом уже выдаёт 300+, но опять с предыдущего mouseover не пойму, почему? |
1. MouseEvent.pageX
2. Ширину блока можно было бы получить в случае, если его скрывают при помощи visibility, но я почти уверен, что там юзается display |
вот если так сделать, то реальные координаты выдаёт (<a class='data_link')
$('.data_link').mouseover(function(event) { event.preventDefault(); MX = event.clientX; // положения по оси X MY = event.clientY; // положения по оси Y alert(MX+' '+MY); }); а если через <a onmouseover=where_is_cursor(), то выдаёт координаты с прошлого наведения почему-то... Цитата:
но оба раза он получает данные с предыдущего mouseover при этом я ширину считаю ПОСЛЕ выхода блока, вот так: get_ajax(); $(return_div).show(0); alert($(return_div).outerWidth()); как вот эту конструкцию тоже повесить на event, при условии, что у каждой ссылки свои данные fancybox(my_personal_setup_data,'X','Y'); и их надо передавать |
кто-нибудь знает?
|
greenwar,
get_ajax(); $(return_div).show(0); alert($(return_div).outerWidth()); У вас параметры div определяются сразу после отправки ajax, до его завершения. Чтобы они задавались после завершения запроса, надо перенести определение параметров в success ajax |
Часовой пояс GMT +3, время: 23:55. |