У меня небольшие проблемы с моим кодом. То, что я пытаюсь сделать, это обновить свойство css этого элемента «left» в соответствии с разницей его текущего левого значения и размера страницы. Таким образом, когда размер страницы изменится, а фон переместится, элементы тоже переместятся. Посмотрите на код ниже, и я опишу проблему:
$(window).resize(function() {
var docWidth = $(window).width();
if (docWidth < 1000) {
var difference = 1000-docWidth;
$('#headNav a,#icons div').each(function() {
var left = $(this).position().left;
var newLeft = left - difference;
$(this).css({ 'left' : newLeft });
});
}
});
Итак, проблема, которую я получаю, заключается в том, что элементам присваиваются левые значения диких чисел, в то время как значение переменной 'newLeft' является разумным, желаемым значением. Я думаю, что каждая функция собирает суммы этих значений и запускает их для каждого элемента x количество раз, что найденные элементы существуют (так что если 5 элементов, то они выполняются 5 раз, я имею в виду.) Что я хочу, чтобы этот код выполнялся уникально для каждого элемента, но только один раз, а не каждый элемент 10 раз! (это количество элементов в html).
Итак, мой вопрос: как этого достичь? Надеюсь, я достаточно хорошо объяснил, это было сложно повторить. Любая помощь очень ценится. Спасибо!