Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2014, 13:55
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

Выбор элемента :visible
Пациент
После каждого ряда "блоков с картинкой", идет пунктирная линия. Ее я реализовал через добавления класса ( который в свою очередь добавляет псевдоэлемент) к первому "блоку с картинкой" и к каждому 4n+5. Вывод блоков меняется в зависимости от выбранного фильтра ( сверху: Квартиры Котеджы ...) поэтому, мне после нажатия на фильтр надо заново переопределить первый и 4n+5 элементы.
первый определятеся корректно
$('.items-bl li:visible:first')

Мне нужно определить из видимых "блоков с картинкой" 4n+5, это я делают следующим образом
$('.items-bl li:visible:nth-child(4n + 5)')

НО 4n+5 он считает не из видимых элементов, а из всех элементов.
Как мне выбрать 4n+5 именно из видимых элементов ?
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2014, 14:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Попробуй так:
$('.items-bl li:visible').filter(':nth-child(4n + 5)')
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2014, 14:32
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

проблема остаётся, ведет себя так же
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2014, 14:34
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

На сколько я понял, работает следующая логика
Выбираются элементы 4n+5, и если они visible, то селектор срабатывает
повторюсь, мне надо
чтобы сначала выбрало visible элементы, и уже в них рассчитало 4n+5
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2014, 16:15
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от dikucher Посмотреть сообщение
На сколько я понял, работает следующая логика
Выбираются элементы 4n+5, и если они visible, то селектор срабатывает
повторюсь, мне надо
чтобы сначала выбрало visible элементы, и уже в них рассчитало 4n+5
не

он выбирает :visible, потом из них выбирает 4n+5

проблема в том, что он в "n" учитывает скрытые - т.е. в n индекс относительно дерева, а не коллекции

решение - callback.

я попробовал так :
http://jsbin.com/ImeWoRiT/1
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2014, 17:32
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

вот как я изменил код ( срабатывает при клике на любую кнопку из фильтра ) посмотреть там же тест
jQuery(function ($) {
        var hide = $('.filter');

        var collection = $('.items-bl li');

        hide.click(function () {
            collection.removeClass('line');
            collection.filter(':visible').filter(function (index) {
                var isMatching = index && index % 4 === 0;
                return isMatching;
            }).add(collection.last()).addClass('line');
        });



        collection.removeClass('line').filter(':nth-child(4n+5), :first').addClass('line');

    });


но что то идет не так
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2014, 20:29
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

обрати внимание на css по моей ссылке
Ответить с цитированием
  #8 (permalink)  
Старый 11.01.2014, 04:40
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Точно, пациент. Миленький транзистор. Лучше бы починили fancybox или как он там, который бедолага не масштабируется и демонстрирует еще более прелестные полосы прокрутки вокруг оконца с фоткой.

Ответ, конечно, не по существу, но я предлагаю поменять существо с ковыряния в жикверях на дизайн, масштабируемость и все такое. Потому что эти пунктиры ну вообще там никуда. Это я как дизайнер вам говорю.
Ответить с цитированием
  #9 (permalink)  
Старый 11.01.2014, 16:03
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от kostyanet Посмотреть сообщение
Точно, пациент. Миленький транзистор. Лучше бы починили fancybox или как он там, который бедолага не масштабируется и демонстрирует еще более прелестные полосы прокрутки вокруг оконца с фоткой.

Ответ, конечно, не по существу, но я предлагаю поменять существо с ковыряния в жикверях на дизайн, масштабируемость и все такое. Потому что эти пунктиры ну вообще там никуда. Это я как дизайнер вам говорю.
от программиста требуется сверстать и оживить то, что нарисовал дизайнер.

правка программистом конечного варианта дизайна строго карается.

так то, ясный красный, они там не к месту
Ответить с цитированием
  #10 (permalink)  
Старый 14.01.2014, 19:20
Аспирант
Отправить личное сообщение для dikucher Посмотреть профиль Найти все сообщения от dikucher
 
Регистрация: 18.04.2013
Сообщений: 51

не суть, к месту эти линии там или нет. Нарисовали - значит нужно делать.
melky у меня проблема в следующем, ( я хоть и изменил немного ваш код, но вроде не поломал его логики ). Но он зараза по прежнему определят мне 4n+5 из всех элементов, а ведь должен определять этот 4n+5 из видимых
jQuery(function ($) {
        var hide = $('.filter');

        var collection = $('.items-bl li');

        hide.click(function () {
            collection.removeClass('line');
            collection.filter(':visible').filter(function (index) {
                var isMatching = index && index % 4 === 0;
                return isMatching;
            }).add(collection.last()).addClass('line');
        });



        collection.removeClass('line').filter(':nth-child(4n+5)').addClass('line');

    });


верстка лежит все там же
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор текущего (при прокрутке) элемента slon_js Events/DOM/Window 3 04.01.2014 18:49
Выбор ближайшего элемента вверх по коду OnArs Общие вопросы Javascript 6 14.10.2013 16:02
выбор нужного элемента на jquery gamesoneve jQuery 2 04.09.2012 08:49
теги в выделенном фрагменте woojin Events/DOM/Window 48 15.08.2012 19:13
Выбор несуществующего элемента nematod Элементы интерфейса 1 12.03.2012 02:39