Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: подскажите как организовать выборку из массива
'background':'#fff url(../images/'+ i +'.png) no-repeat 50% 30%'});
}elseif(i == 1){
$(this).css({'border-right':'1px solid #fff',
'background':'#fff url(../images/'+ i +'.png) no-repeat 50% 30%'});
}elseif(i == 2){
$(this).css({'border-right':'1px solid #fff',
'background':'#fff url(../images/'+ i +'.png) no-repeat 50% 50%'});
}elseif(i == 3){
$(this).css({'border-right':'1px solid #fff',
'background':'#fff url(../images/'+ i +'.png) no-repeat 60% 40%'});
}elseif(i == 4){
$(this).css({'border-right':'1px solid #fff',
'background':'#fff url(../images/'+ i +'.png) no-repeat 55% 30%'});
};
});
});
хочется сделать так, чтобы при нажатии на какой-либо div с идентификатором "scr" + i, все остальные идентификаторы из массива arr принимали исходное правило css, ну фон белый, рамку такую же
только что подумал что через splice(i, 1) можно сделать, попробую (Добавление)
сделал иначе, но тем не менее очень интересен вариант через массивы, умельцы выложите пожалуйста ваш вариант. Заранее спасибо!
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
p1us, ну это просто ппц.
Самый простой вариант - при загрузке страницы создать элемент style в который в нести дефолтное значение для всех элементов, и потом в цикле стили для всех элементов, но у которых есть класс, примерно так
background: #fff url(../images/"+ i + ".png) no-repeat " + arr[i];
где arr создается руками и содержит строку с координатами для соответствующих элементов
После чего действие происходит по принципу: убрать класс у всех элементов и добавить только нужному.
p1us
Отправлено: 01 Ноября, 2012 - 13:04:45
Гость
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
нет, с этим проблем нет, я вот именно хочу чтобы все делалось не руками а массивами, соответственно чтобы элемент, на который щелкает пользователь, удалялся из массива(или менял класс), но при щелчке на другой элемент, предыдущий восстанавливал свои позиции. а так то я уже сделал, но не через класс, так как у меня фон меняется в зависимости от i
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
p1us, все через массивы? и какой же скрытый смысл вашего массива, в котором содержатся только id элементов(можно сразу селектор хранить если # добавить), хотя их проще в цикле перебрать.
В коде выше у всех элементов имеются разные положения фона. Вот что предлагаю я: создается руками(или циклом если можно вывести закономерность от i) массив, которых и содержит эти координаты.
Потом создается стиль содержащий дефолтный стиль для всех элементов и отдельно для каждого активного(с соответствующим классом) с позицией для этого элемента. Потом банальный код который убирает/добавляет классы?
Что тут нужно руками делать?
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
прочитал дважды! смысл лишь в том чтобы добраться до смысла того как делается, а не для того чтобы взять и напортачить. хочется, чтобы то , что пришло в голову имело выход, а для этого опыт, который иногда приходит не из собственной головы, и не более, того)
IllusionMH
Отправлено: 01 Ноября, 2012 - 13:38:14
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
p1us, вам предложен вариант, который учитывает разные положения фона(как в первом посте), требует минимум ручной работы(задается только положение фона, т.к. иначе в цикле не задать), осмысленно использует массив и достаточно прост в реализации(создание строки для стилей активных элементов, добавление элемента, шаблонный код переключения класса(аналогичен коду в 3 посту))
p1us пишет:
нет, с этим проблем нет, я вот именно хочу чтобы все делалось не руками а массивами
Чем вариант в котором руками вводится только то, что нельзя сделать в цикле не подходит?
p1us
Отправлено: 02 Ноября, 2012 - 10:50:14
Гость
Покинул форум
Сообщений всего: 120
Дата рег-ции: Авг. 2011
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.