Словить коориднаты курсора
Привет всем!
Сразу к делу! Есть 2 дива, которые расположены в виде буквы "Т", то есть образуют перпендикуляр. Как мне их пометить по координатам, ну мол, если координаты курсора совпадают с координатами дивов вывести какое-нить сообщение ? |
|
Riim,
Не нашёл чего-то( Объясню подробнее, я буду делать стенки в игре из дивов, вот, нужно будет провести курсор не прикасаясь к этим стенкам, если курсор попадает по стенке, игра начинается сначала, просто я не знаю как мне взять координаты дива, чтобы при прикосновении курсора со стенкой проверять координаты. Может я неправильный подход выбрал ? |
lammeR, вешайте на onmousemove документа функцию, которая будет сравнивать текущее положение курсора (event.pageX/event.pageY) и положение div'-а.
|
а не проще onmousemove повесить прямо на дивы? и никаких координат не понадобиться вычислять
|
может onmouseover и onmouseout ?
|
exec,
положение дива как определить то) ? :D |
lammeR,
зачем вам положение дива-то? |
lammeR, я плохо подумал, можно просто mouseover на div'-е ловить.
|
Цитата:
|
рони,
exec, Kolyaj, Это просто у меня лабораторка, я знаю, что можно просто маусовер ловить на диве, но как-то просто всё.... . А вот по координатам было бы интересно. |
Ребят, ладно, со стенками оставлю так. Можете мне подсказать, дать совет как мне стенки(дивы или спаны) располагать, может сделать как-то в массиве 12х12 ? Просто хотел бы потом стены генерить рэндомно.
|
lammeR, создавайте массив, в котором каждый подмассив будет соответствовать строке, а элемент подмассива — ячейке карты. Если значение 0 — ячейка белая, 1 — ячейка чёрная.
|
exec,
угу) |
.cells{ width:50px; height:50px; background:#CCCCCC; border:1px solid #824a00; } .celltr { width:50px; height:50px; background:#c78023; border:1px solid #824a00; } function lose() { alert("Попал по стене!"); } var res=0; document.write("<table cellspacing='1' cellpadding='0' >"); for(var i=0;i<10;i++) { document.write("<tr>"); for(var j=0;j<10;j++) { if(i==3&&j==1||i==3&&j==2||i==3&&j==3||i==5&&j==3||i==5&&j==4||i==5&&j==5||i==4&&j==4||i==3&&j==4||i==6&&j==5||i==7&&j==5||i==7&&j==6||i==7&&j==7||i==7&&j==9) { document.write("<td class='celltr' onmouseover='lose()'></td>"); } else{document.write("<td class='cells'></td>");} } document.write("</tr>"); } document.write("</table>"); Вот, кое-что написал, без массивов, просто таблицей, извиняюсь за назойливость, но не знаю как эти проверки рэндомить(( |
Цитата:
|
чего-то не спалось)))
<script language="JavaScript" type="text/javascript"> /*<![CDATA[*/ function lose() { alert("Попал по стене!"); } var t = "<table cellspacing='1' cellpadding='0' >"; var y = "<td class='celltr' onmouseover='lose()'></td>"; var n = "<td class='cells'></td>"; var p = 15; //процент заполнения var rows = 12; //количество строк var columns = 12; //количество колонок for (var i = 0; i<rows; i++) {t += "<tr>"; for (var k = 0; k<columns; k++) {t += Math.random()<(p/100)? y: n;} t += "</tr>"; } t += "</table>" document.write(t); /*]]>*/ </script> |
рони,
Спасибище) Можно уточнение здесь Math.random()<(p/100)? y: n; ? Вы - мозг) |
Math.random() генерирует от 0 до 1 если оно меньше заданого процента
в примере это 0.15 прибавляем ячейку у иначе ячейку n а в целом это условный оператор http://javascript.ru/cond |
рони,
понял, просто немного растерялся) |
Часовой пояс GMT +3, время: 18:56. |