Во-первых, самая простая, но самая важная часть: измените свои идентификаторы на классы. Идентификаторы должны быть уникальными для каждой страницы, поэтому Селектор идентификатора jQuery и функция JavaScript document.getElementById()
предоставят вам только первый соответствующий элемент:
Каждое значение id
должно использоваться только один раз в документе. Если более чем одному элементу был присвоен один и тот же идентификатор, запросы, использующие этот идентификатор, будут выбирать только первый соответствующий элемент в DOM.
Изменение
<div id="container">
...
<div id="element">
до
<div class="container">
...
<div class="element">
и изменить
$('#element')
до
$('.element')
Далее, более сложная часть: вы в настоящее время делаете один centerDiv()
вызов для ваших элементов с координатами из центра 0, 0
. Это займет все ваши .element
с и поместит их в одно и то же место.
Если это не то, что вы намереваетесь, вам нужно будет просмотреть их, используя .each()
и решить xPosFromCenter
и yPosFromCenter
в каждой итерации. Мне пока не ясно, как работает ваша функция, поэтому вам, возможно, придется изучить ее самостоятельно и посмотреть, что вы можете придумать.
Поцарапайте это, см. Рабочий пример Джеймика для решения.