首页 > 解决方案 > 如何修复我的(导航)按钮的响应性?

问题描述

我正在做一个迷你项目,以通过以下链接中所示的教程更好地了解引导、过滤等的工作原理:

youtube:[在此处输入链接描述][1]

[1]:https
://www.youtube.com/watch?v= _RQAoff0jx8 教程源代码:[在此处输入链接描述][2]

但是,地雷并没有按照教程显示的方式出现-当我尝试单击顶部的按钮(用于过滤图像)时,它不起作用

我已经摆弄了试图修复它的代码,但我运气不佳......如果有人能指出我的错误并可能用外行的术语解释它,我将不胜感激:)

下面是我的代码:

HTML

<!--Bootstrap-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
<!--Fontawesome-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@5.15.3/css/fontawesome.min.css" integrity="sha384-wESLQ85D6gbsF459vf1CiZ2+rr+CsxRY0RpiF1tLlQpDnAgg6rwdsUF1+Ics2bni" crossorigin="anonymous">

<body>

<section class="section-spacing bottom-none inverse-bg">
 <div class="container">
  <div class="row">
    <div class="col-md-12">
      <div class="section-title text-center">
      <h2><span>Gallery</span></h2>
      </div>
    </div>
  </div>

  <div class="row">
    <div class="col-md-12 text-center">
      <ul id="filter-list">
        <li class="filter active" data-filter="all">all</li>
        <li class="filter" data-filter="1">sedan</li>
        <li class="filter" data-filter="2">hatchback</li>
        <li class="filter" data-filter="3">coupe</li>
        <li class="filter" data-filter="4">station wagon</li>
        <li class="filter" data-filter="5">sports car</li>
        <!--info on DATA-FILTER: https://www.sitepoint.com/building-a-filtering-component-with-css-animations-jquery/ -->
        <!-- DATA is basically a custom variable-->
      </ul>
    </div>
  </div>
</div>

<div class="gallery-outer">
  <ul class="gallery-items">
    <!--FIRST--->
    <li class="filtr-item item-1" data-category="1">
      <div class="gallery-inner">
        <img src="https://carsguide-res.cloudinary.com/image/upload/f_auto,fl_lossy,q_auto,t_cg_hero_large/v1/editorial/story/hero_image/2021-Hyundai-i30-sedan-red-1001x565-1.jpg" alt="Picture of a sedan">
        <div class="gallery-overlay"><a href="https://carsguide-res.cloudinary.com/image/upload/f_auto,fl_lossy,q_auto,t_cg_hero_large/v1/editorial/story/hero_image/2021-Hyundai-i30-sedan-red-1001x565-1.jpg" class="venobox vbox-item" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Second-->
    <li class="filtr-item item-2" data-category="2">
      <div class="gallery-inner">
        <img src="https://www.gannett-cdn.com/-mm-/38b2e6935d2caa4e96e963348fcbb385c228e98b/c=6-0-2994-1688/local/-/media/2017/05/28/USATODAY/USATODAY/636315278501076031-ChevroletCruzeHatch17.jpg?width=2988&height=1688&fit=crop&format=pjpg&auto=webp" alt="Picture of a hatchback">
        <div class="gallery-overlay"><a href="https://www.gannett-cdn.com/-mm-/38b2e6935d2caa4e96e963348fcbb385c228e98b/c=6-0-2994-1688/local/-/media/2017/05/28/USATODAY/USATODAY/636315278501076031-ChevroletCruzeHatch17.jpg?width=2988&height=1688&fit=crop&format=pjpg&auto=webp" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Third-->
    <li class="filtr-item item-3" data-category="3">
      <div class="gallery-inner">
        <img src="https://s.aolcdn.com/commerce/autodata/images/USC80BMC751A021001.jpg" alt="Picture of a coupe">
        <div class="gallery-overlay"><a href="https://s.aolcdn.com/commerce/autodata/images/USC80BMC751A021001.jpg" class="venobox vbox-item" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Fourth-->
    <li class="filtr-item item-4" data-category="4">
      <div class="gallery-inner">
        <img src="https://s.abcnews.com/images/Business/ford-country-squire-file-gty-jef-210120_1611177823706_hpMain_16x9_992.jpg" alt="Picture of a station wagon">
        <div class="gallery-overlay"><a href="https://s.abcnews.com/images/Business/ford-country-squire-file-gty-jef-210120_1611177823706_hpMain_16x9_992.jpg" class="venobox vbox-item" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
     <!--Fifth-->
    <li class="filtr-item item-5" data-category="5">
      <div class="gallery-inner">
        <img src="https://www.aitrends.com/wp-content/uploads/2019/09/9-13SportsCar-2.jpg" alt="Picture of a sports car">
        <div class="gallery-overlay"><a href="https://www.aitrends.com/wp-content/uploads/2019/09/9-13SportsCar-2.jpg" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Sixth-->
    <li class="filtr-item item-6" data-category="3">
      <div class="gallery-inner">
        <img src="https://www.autoguide.com/blog/wp-content/uploads//2018/11/top-10-bmw-accessories.jpg" alt="image of a 2nd coupe">
        <div class="gallery-overlay"><a href="https://www.autoguide.com/blog/wp-content/uploads//2018/11/top-10-bmw-accessories.jpg" class="venobox vbox-item" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
      <!--Seventh-->
    <li class="filtr-item item-7" data-category="1">
      <div class="gallery-inner">
        <img src="https://www.autoguide.com/blog/wp-content/uploads//2021/02/2021-Mazda3-Turbo-100A-Review-Featured-679x416.jpg" alt="Picture of a 2nd sedan">
        <div class="gallery-overlay"><a href="https://www.autoguide.com/blog/wp-content/uploads//2021/02/2021-Mazda3-Turbo-100A-Review-Featured-679x416.jpg" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Eight-->
    <li class="filtr-item item-8" data-category="5">
      <div class="gallery-inner">
        <img src="https://oards.com/wp-content/uploads/2018/08/5-Types-of-Sports-Cars.jpg" alt="Picture of a 2nd sports car">
        <div class="gallery-overlay"><a href="https://oards.com/wp-content/uploads/2018/08/5-Types-of-Sports-Cars.jpg" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
    <!--Nine-->
    <li class="filtr-item item-9" data-category="4">
      <div class="gallery-inner">
        <img src="https://s.wsj.net/public/resources/images/OD-BN613_RUMBLE_P_20170411115304.jpg" alt="Picture of a 2nd station wagon">
        <div class="gallery-overlay"><a href="https://s.wsj.net/public/resources/images/OD-BN613_RUMBLE_P_20170411115304.jpg" target="_blank" data-gallery="gallery"><i class="fas fa-image"></i></a></div>
      </div>
    </li>
  </ul>
</div>

CSS

@import url("https://fonts.googleapis.com/css2?family=Limelight&display=swap");
$cherry-pink: #ff0066;

* {
font-size: 30px;
margin: 0;
padding: 0;
font-family: "Limelight", sans-serif;
}  
section {
position: relative;
overflow-x: hidden;
padding: 5px;
}

h2 {
text-transform: uppercase;
font-weight: 800;
font-size: 1.2rem;
letter-spacing: 3px;
}

.text-center {
padding-top: 40px;
}
ul {
list-style-type: none;
}

@mixin transition($duration) {
-webkit-transition: $duration;
-ms-transition: $duration;
-moz-transition: $duration;
transition: $duration;
}

@mixin transform($transform) {
-webkit-transform: $transform;
-ms-transform: $transform;
-moz-transform: $transform;
transform: $transform;
}
@mixin scale($scale) {
@include transform(scale($scale));
}
@mixin translateY($y) {
@include transform(translateY($y));
}

@mixin translate3d($translate...) {
@include transform(translate3d($translate...));
}

//    BUTTON STYLING
#filter-list {
display: inline-block;
border: 1px solid #dddddd;
border-radius: 30px;
padding: 4px;
margin: 0 0 60px;

li:hover,
li.active {
background-color: $cherry-pink;
color: white; 
}
li {
display: inline-block;
border-radius: 25px;
line-height: 50px;
font-size: 0.6rem;
text-transform: uppercase;
text-align: center;
cursor: pointer;
padding: 0 20px;
min-width: 130px;
@include transition(all 0.3s ease-in-out);
}
}
// CAR IMAGES
.gallery-outer {
width: 100%;
float: left;
height: auto;
padding: 0 1px;
}

.gallery-items {
 position: relative;
height: 1261px;
padding: 0;

li:hover img {
@include scale(1.2);
}
li:hover .gallery-overlay {
@include translateY(-50%);
@include scale(1);
}
li {
width: 25%;
float: left;
padding: 0 1px 2px;

.filtr-item {
  @include scale(1);
  opacity: 1;
  backface-visibility: hidden; //NEW LEARNED
  position: absolute;
  @include transition(all 1s ease-in-out 0ms);
  perspective: 1000px; //NEW LEARNED
  pointer-events: auto; //NEW LEARNED
  transform-style: preserve-3d; //NEW LEARNED*/
 }

 .item-1 {
  @include translate3d(0px, 0px, 0px);
  }
  .item-2 {
  @include translate3d(300.25px, 0px, 0px);
  }
  .item-3 {
  @include translate3d(630.5px, 0px, 0px);
}
.item-4{
  @include translate3d(945.7px, 0px, 0px)
}
.item-5{
  @include translate3d(0px, 315.25px, 0px)
}
.item-6{
  @include translate3d(315.25px, 315.25px, 0px)
}
.item-7{
  @include translate3d(630.5px, 315.25px, 0px)
}
.item-8{
  @include translate3d(945.7px, 315.25px, 0px)
}
.item-9{
  @include translate3d(0px, 630.5px, 0px)
}
img {
  width: 100%;
  height: auto;
  @include transition(all 0.3s ease-in-out);
 }
 }
 }

.gallery-inner {
width: 100%;
float: left;
position: relative;
overflow: hidden;
}

.gallery-overlay {
width: 100%;
position: absolute;
left: 0;
top: 50%;
text-align: center;
@include transition(all 0.3s ease-in-out);
@include scale(0);
@include translateY(-50%);

a {
display: inline-block;
line-height: 50px;
border-radius: 50%;
text-align: center;
width: 50px;
color: $cherry-pink;
font-size: 1rem;

}
a:hover {
background: $cherry-pink;
color: white;
}
}

JS

 (function(x){
"use strict";

jQuery(window).on('load', function(){
  preloader();

if(jQuery('.galler-outer, .gallery-items').length>0){
  jQuery('.gallery-outer, .gallery-items').filterizr();
      }
jQuery('filter-list li').on("click", function(){
  jQuery('#filter-list li').removeClass('active');
  jQuery(this).addClass('active');
  });
 });

function preloader(){
jQuery(".preloaderimg").fadeout();
jQuery(".preloader").delay(200).fadeout("slow").delay(200, function(){
  jQuery(this).remove();
 });
}) (jQuery);

注意:
我在这里和那里做了一些调整,即使用 SASS,这可能是它没有像教程那样出现的原因......

我还有很多东西要学,所以如果我可能不理解给定的解决方案并提出问题,我想再次提前道歉。

先感谢您!
[1]:https ://drive.google.com/open?id=1rgx .. [2]:https ://drive.google.com/drive/folders/1rgxXMvITdmREmFFDCOrS7c2o5z1VxA7C

标签: jquerybootstrap-4navresponsiveness

解决方案


推荐阅读