2014-04-23 2 views
0

Добрый день, мне нужна помощь в JS, пожалуйста.
Скажет, у меня есть этот HTML:Рассчитать положение div в пределах div

<div> 
    <div onclick="countPos()"></div> 
    <div onclick="countPos()"></div> 
    <div onclick="countPos()"></div> 
</div> 

Когда я нажимаю на DIV (внутри DIV родителя), я хочу функцию JS, чтобы выпалить, которая возвращает позицию этого дела. Итак, если я нажму третий div-return 3, если я нажму первый div-return 1 и так далее. Как я могу это сделать?

ответ

2

Вам нужно отправить текущий щелкнул элемент функции, как

<div onclick="countPos(this)"></div> 

Тогда в функции вы можете создать array элементов внутри родителя, то найти индекс.

function countPos(elem){ 
    var nodeList = Array.prototype.slice.call(elem.parentNode.children); 
    var index = nodeList.indexOf(elem) + 1; 
    // do your stuff with index 
} 

FIDDLE

+0

Большое спасибо, сэр :) – qazerty23

+0

Мой друг-приятель;) –

0

Я хотел бы предложить давая каждому Див идентификатор, и передавая это значение функции JS. Что-то вроде ...

<div> 
    <div id="div1" onclick="countPos(this.id)"></div> 
    <div id="div2" onclick="countPos(this.id)"></div> 
    <div id="div3" onclick="countPos(this.id)"></div> 
</div> 
Смежные вопросы