Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрыть элемент в зависимости от содержимого (https://javascript.ru/forum/dom-window/73297-skryt-ehlement-v-zavisimosti-ot-soderzhimogo.html)

laimas 06.04.2018 08:40

А что нужно?

310 06.04.2018 10:38

Справа от логотипа выбор города, если выбран Ростов, скрыть блок "Пицца" :)

laimas 06.04.2018 12:18

В списке что-ли? А если я захочу изменить город, тогда как как это сделать?

310 06.04.2018 14:13

Вот на картинке схематично изобразил.

laimas 06.04.2018 14:21

Ну так это типа фильтра вы ходите сделать, так?

310 06.04.2018 14:37

Ну вроде того

laimas 06.04.2018 14:55

Не выставляйте таких картинок, они прокручивают страницу, это мешает просмотру основного.

У вас же сервер знает, что кому принадлежит. Поэтому, при выводе страницы свяжите опции списка со соответствующими LI содержащими их изображения именами классов. Можно и по data-id, тогда в обработчике изменения:

$('span.cityItem').click(function() {
    $('li[data-id]').not($('li[data-id!='+this.getAttribute('data-id')+']').hide()).show()
})


добавив эти атрибуты LI

<li data-id="51c88886-7a23-f24e-0161-5b68dac8dc1d"...
<li data-id="51c88886-7a23-f24e-0161-56abf9398685"...

соответственно.

310 06.04.2018 16:49

Вы вот так имеете в виду?
jQuery(document).ready(function () {

$('span.cityItem').click(function() {
    $('li[data-id="51c88886-7a23-f24e-0161-56abf9398685"]').not($('li[data-id!='+this.getAttribute('data-id')+']').hide('.main_li')).show()
})

	})

laimas 06.04.2018 17:13

Цитата:

Сообщение от 310
Вы вот так имеете в виду?
...
$('li[data-id="51c88886-7a23-f24e-0161-56abf9398685"]')

А разве я так написал?

$('li[data-id]').not($('li[data-id!='+this.getAttribute('data-id')+']').hide()).show() - означает


$('li[data-id]') - все элементы LI имеющие атрибут data-id
.not($('li[data-id!='+this.getAttribute('data-id')+']').hide()) - исключая те, у которых значение этого атрибута не равно значению span, по которому щелкнули, и которые нужно скрыть
.show() - показать

Если сделать так как вы пишите, то будут показывать только те, значения которых равно указанному. Что трудно дать LI которые относятся к тому или иному городу те же самые атрибуты как и города (span) и проверить как работает?

kostyanet 07.04.2018 20:46

Цитата:

Сообщение от 310
гляньте на страницу

Кнопку "вниз" сделай наверху. Ну никто ж не догадается, что надо крутить. Какие-то еще города выбирать. Список сделай из select'а и не пудри моск. )))


Часовой пояс GMT +3, время: 15:09.