Так и было задумано изначально. Там получается комната, у которой меняются цвета стен, так вот будет еще выбираться и материал стен, в таком случае у меня будут дивы с картинками sm... и sp..., а цвета у них одинаковые, вот поэтому мудрю, буду писать условие сейчас, что если выбран такой-то материал, то добавляем sm, если такой-то, то добавляем sp. Ну как-то так :dance:
|
Цитата:
|
Вот в том то и дело, что цвет будет выбираться одними и теми же ссылками, а обращение к разным объектам
|
Цитата:
|
А сотворить нужно грубо говоря планировщик интерьера. У него можно оформить:
1. стены: имеют 3 возможных материала панелей, и в зависимости от выбора радиокнопок панелей, меняются картинки с панелями, на которые скрыты (display:none), а при нажатии на кнопочки с цветами (display:block); 2. полы: имеют 2 возможных варианта - линолеум и наливные, у которых так же разный набор цветов и соответствующих картинок. А потом еще добавится потолок и оборудование. Учитывая мое первое знакомство с javascript, то я уже голову всю сломала. Со стенами у меня все заработало, а добавив пол, все перестало работать :( Вот. Можете подскажете, что не так делаю: <script type="text/javascript"> var btn = document.querySelectorAll('.btn'), el = document.querySelectorAll('.el'); Array.prototype.forEach.call(btn, function(curr){ curr.addEventListener('click', function(event) { Array.prototype.forEach.call(el, function(curr){ curr.classList.remove('active'); }); if (document.getElementsByName('gender').checked = true) { if(document.getElementById('sm').checked) { document.querySelector('#sm'+this.getAttribute('href').slice(1)).classList.add('active'); } if ((document.getElementById('sp').checked) || (document.getElementById('spr').checked)) { document.querySelector('#sp'+this.getAttribute('href').slice(1)).classList.add('active'); } }; if (document.getElementsByName('gender2').checked = true) { if (document.getElementById('linol').checked) { document.querySelector('#p'+this.getAttribute('href').slice(1)).classList.add('active'); }}; return false; }, false); }); </script> Добавились input radio с другим name (gender2) - это выбор пола. Так вот, первая часть со стенами работает, а с полом нет. Знаю, что вы сейчас надо мной будете смеяться ;) но все, я не могу никак и так и сяк пробовала. А пример можно посмотреть на этой странице http://www.laminar.ru/test/ |
Цитата:
Пользователю никогда не вываливается все кучей, а выдается только тот набор, который он запрашивает, например выбрал он панели пластиковые, затем можно выбрать какие есть среди них текстуры, а только потом среди них выбрать по цвету и т.д.. И это делается посредством Ajax. Чем больше вы будете вываливать на клиента и мудрить с различными подстановками, тем сложнее будет самой разобраться в длинном коде. |
Извини пожалуйста, за возможно глупые вопросы. А это можно сделать через запросы к базе mysql, в которой создать как раз эти таблицы, и php?
|
Ну почему глупый, это как раз и делается так - клиент отправляет асинхронный запрос на сервер, выбор пользователя -> сервер по этому выбору как параметрам делает запрос в базу и возвращает результат запроса клиенту -> клиент по данным ответа сервера добавляет на страницу список, в котором можно выбрать следующие параметры и т.д., пока не будет достигнут последний выбор и определяющий картинку.
|
Глупый, потому что логику понимаю, а делать не очень представляю как :-E
ну ничего, буду учиться |
начала пробовать, вот сразу проблема)))
как удалить именно div блок при клике на ссылку $( 'ссылка с id #steny' ).click(function () { // При клике на steny "стены" мы должны удалить // все имеющиеся значения в все допустимые значения div c id #p, #pt, #ob $( '#p, #pt, #ob' ).find( 'div:not(:first)' ) // Ищем все теги, не являющиеся тегом по умолчанию .remove() // Удаляем эти теги // Изменим значение свойства disabled объектов, // так как мы работаем с ними через библиотеку jQuery .end() // Возвращаемся к исходному объекту .prop( 'disabled',true ); // Делаем неактивными // Сохраним выбранное значение списка в переменную var type_id = $( this ).val(); // Если выбрано значение по умолчанию, ничего не делаем if (type_id == 0) { return; } .... Не правильно же, disabled используется только в полях списков? |
Часовой пояс GMT +3, время: 01:32. |