PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 4
twodogs Отправлено: 13 Мая, 2023 - 21:15:02 • Тема: Объединить два кода • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 1441
Есть два кода, которые должны делать одно и тоже - отбирать нужные блоки. Первый код фильтрует с помощью кнопок, второй выпадающим списком.

CODE (html):
скопировать код в буфер обмена
  1.     <div style="margin:10px 5px 20px 0;">
  2.     <!-- Кнопки отдельно -->
  3.     <a href="javascript:;" class="filterA activeA" data-filter="all">View all</a>
  4.     <a href="javascript:;" class="filterA" data-filter="o">black</a>
  5.     <a href="javascript:;" class="filterA" data-filter="a">white</a>
  6.     <a href="javascript:;" class="filterA" data-filter="p">green</a>
  7.     </div>
  8.  
  9.     <div class='Luxexe'>
  10.     <!-- Выпадающий список -->
  11.     <select id='Jueyci'>
  12.          <option value='ci'>View all</option>
  13.          <option value="o">black</option>
  14.          <option value="a">white</option>
  15.     </select>
  16.     </div>
  17.   <div class='container'   id='Rupymi'>
  18.  
  19.     <div class=" a1 ci filter-item o show"> <a data-fancybox='aq' href="http://ipic.su/7z1pOc"><img src='http://ipic.su/7z1pOc'> </a></div>
  20.     <div class=" a1 ci filter-item p show"> <a data-fancybox='aq' href="http://ipic.su/7z1qJw"><img src='http://ipic.su/7z1qJw'> </a></div>
  21.     <div class=" a1 ci filter-item a show"> <a data-fancybox='aq' href="http://ipic.su/7z1qJw"><img src='http://ipic.su/7z1qJw'> </a></div>
  22. </div>


CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function() {
  2.   $(".a1").children('a').fancybox({
  3.     loop: false
  4.   });
  5.   $('.filterA').click(function() {
  6.     if( $(this).hasClass('activeA') ) {
  7.       console.log('already activeA');
  8.     }
  9.     else {
  10.       console.log('new activeA');
  11.       $('.filterA').removeClass('activeA');
  12.       $(this).addClass('activeA');<a> Tag bekommt die Klasse "selected" hinzugefьgt
  13.  
  14.       var $dataFilter = $(this).data('filter');
  15.  
  16.       if( $dataFilter == 'all') {
  17.         console.log('add show to all');
  18.         $('.filter-item:not(.show)').fadeIn(500);
  19.         $('.filter-item').addClass('show');
  20.         $('.a1').children('a').attr('data-fancybox', $dataFilter).data("fancybox", $dataFilter);
  21.       }
  22.       else {
  23.         console.log('delete show ' + $dataFilter);
  24.         $('.filter-item:not(.' + $dataFilter + ')').fadeOut(0);
  25.         $('.filter-item:not(.' + $dataFilter + ')').removeClass('show');
  26.         $('.filter-item.' + $dataFilter).fadeIn(500);
  27.         $('.filter-item.' + $dataFilter).addClass('show');
  28.         $('.a1.' + $dataFilter).children('a').attr('data-fancybox', $dataFilter).data("fancybox", $dataFilter);
  29.       }
  30.     };
  31.   });
  32. });
  33.  
  34.  
  35.   $(document).ready(function () {
  36.     var filter_select_el = document.getElementById("Jueyci");
  37.     var items_el = document.getElementById("Rupymi");
  38.     filter_select_el.onchange = function () { console.log(this.value);
  39.     var items = items_el.getElementsByClassName("ci");
  40.     for (var i = 0; i < items.length; i++) {
  41.     if (items[i].classList.contains(this.value)) { items[i].style.display = "block"; }
  42.     else { items[i].style.display = "none"; } } }; });
  43.  
twodogs Отправлено: 12 Мая, 2023 - 17:20:08 • Тема: Помочь поправить js код fancybox с фильтром контента • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 895
ситуация такая: есть галерея картинок fancybox, которая должна от фильтроваться при нажатии на кнопки фильтра или выбором пункта из выпадающего списка.

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

Если в коде js указать непосредственно div, то фильтр не работает. Если указать вложенный в div тег "a", то работает.

Разместил весь код для наглядности тут

Вопрос можно закрыть, помогли на другом форуме
twodogs Отправлено: 25 Ноября, 2021 - 14:34:36 • Тема: Помогите написать код • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 76
Vladimir Kheifets

Спасибо за подробный ответ, теперь все стало ясно как строить взаимодействие между документами.
twodogs Отправлено: 23 Ноября, 2021 - 14:51:08 • Тема: Помогите написать код • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 76
В этом всем только начинаю разбираться, по этому если можно, то объясните пожалуйста более понятней как это можно реализовать.

Есть две страницы - "A" и "B", на "B" подсчитывается количество div блоков и полученный результат нужно передать в тег p на странице "A"

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!-- Страница "В"-->
  3.  
  4. <section class="content">
  5.         <div>1a<div>1.1</div><div>1.1</div></div>
  6.         <div>2a</div>
  7.         <div>3a</div>
  8. </section>
  9.  
  10. <script>
  11.         var div_count = $('.content > div').length;
  12.         $('p.result').text(div_count + " divs.");
  13. </script>


В данном примере долно быть число - 3

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <!-- Страница "A"-->
  3.  
  4. <div><p class="result">Вот тут должна выводиться цифра 3</p></div>

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB