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
Форумы портала PHP.SU :: Версия для печати :: Объединить два кода
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Объединить два кода

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

1. twodogs - 13 Мая, 2023 - 21:15:02 - перейти к сообщению
Есть два кода, которые должны делать одно и тоже - отбирать нужные блоки. Первый код фильтрует с помощью кнопок, второй выпадающим списком.

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.  
2. Sharonddavis - 31 Июля, 2023 - 16:49:51 - перейти к сообщению
не хваттает данных
3. ExLime - 19 Января, 2024 - 22:39:11 - перейти к сообщению
а вопрос в чем?

 

Powered by ExBB FM 1.0 RC1