Координаты мыши
$("div.content").offset() возвратит координаты первого div-элемента с классом content, относительно начала страницы.
$("div.content").position() возвратит координаты первого div-элемента с классом content, относительно ближайшего родителя с заданным позиционированием. А как вычислить координаты мыши в Div! То есть началом отсчета считать угол div! И кликая мышкой чтоб он вывел кординату? x y |
все сделал
$('#click').click(function(e){
var offset = $(this).offset();
var x = e.pageX - offset.left;
var y = e.pageY - offset.top;
alert(x +', '+ y);
});
А теперь ее вопрос почему у меня он выводит x не целым числом? например 2.5 или например 99.5 |
Да и заметил что срабатывает при кликах! если даже сверху элемент наложен!
|
проблему с числами решил через toFixed()
Но проблема с дивами осталась... |
не кто не поможет? )
<div id='id1'>
<div id='id2'>
</div>
</div>
При клике по id2 почему то срабатывает будто я кликнул на первый! |
z-index выставил! id1 находиться сзади!
|
Цитата:
заметил что функция клика не так написана, в ней ошибка, что за элемент #click ?... |
Отменяй всплытие событий
|
zebra,
это как? ) я иванушка дурачек) |
Приведите рабочий тестовый пример
|
а вот это тяжко! там много связного кода
примерная структура такая
<html>
<head>
<title></title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
<meta http-equiv=\"Content-Language\" content=\"ru\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\">
<script type='text/javascript' src='js/jquery.min.js'></script>
<script type='text/javascript' src='js/jquery-ui.min.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
$('#click').click(function(e){
var offset = $(this).offset();
var x = e.pageX.toFixed() - offset.left.toFixed();
var y = e.pageY.toFixed() - offset.top.toFixed();
alert(x +', '+ y);
});
});
</script>
</head>
<body>
<div id=\"click\">
<!--ШАПКА-->
<div id=\"header\">
<link rel=\"stylesheet\" type=\"text/css\" href=\"css/header.css\">
<table>
<tr>
<td>
<img src=\"img/logo.png\">
</td>
<td>
<div id=\"showTime\"></div>
</td>
<td>
<div class=\"quit\"></div>
</td>
</tr>
</table>
</div>
<br />
<!--КОНТЕНТ-->
<link rel=\"stylesheet\" type=\"text/css\" href=\"css/content.css\">
<div id=\"content\">
<div class=\"content\">
</div>
</div>
<br />
</div>
</body>
</html>
|
Цитата:
|
Это не тестовый пример, чтобы его можно было запустить. И не понятно что вы хотите, 1 обработчик висит, понятное дело что он сработает
|
zebra,
блин даже незнаю как объяснить! Вообщем я тыкаю на контент! он мне выполняет клик! А я ведь тыкаю на div с другом названием! |
Вы повесили событие на весь див, и всё что внутри него будет вызывать событие. Читать
|
понял и как отключить это на jquery?
|
все откопал
$('название').click(function(event){
event.stopPropagation();
// do something
});
Минус если блоков много например у меня 4! то надо писать на все 4 получаеться? |
Наверное да. Всё зависит от задачи
|
zebra, Спасибо огромное! Блин плюсануть не могу) т. к. уже плюсовал)
|
| Часовой пояс GMT +3, время: 15:43. |