为什么带有指示器的光滑滑条不起作用?

如何解决为什么带有指示器的光滑滑条不起作用?

我对光滑的滑块有疑问。我已经制作了一个光滑的滑块,我想为每个幻灯片创建一个指示器。我有Codepen中的代码,请检查。

我想要的

当我在第一张幻灯片上时,活动边框在滑块1指示器上,当我在幻灯片2上时,指示器在滑块2指示器上,如下所示。

enter image description here

enter image description here

我一直在寻找几种方法,但仍然无法使用。如果您知道如何,请帮助我。因为我不知道如何制作这样的自定义指标。我需要你的帮助。

HTML

        <section id="bannerHome">
            <div class="container-fluid">
                <div class="row">
                    <div class="col-12" id="homeBanner">
                        <div class="slider-banner">
                            <div class="item">
                                <div class="content">
                                    <div class="first-layer">
                                        <p>01</p>
                                        <p>01</p>
                                    </div>
                                    <div class="second-layer">
                                        <div class="title">
                                            <h1>
                                                Digitalisasi dan Industri 4.0: Manajemen data untuk perkembangan tren transformasi
                                            </h1>
                                        </div>
                                        <div class="date">
                                            <p>Lintasarta</p>
                                            <p>July 30,2020</p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="item">
                                <div class="content">
                                    <div class="first-layer">
                                        <p>02</p>
                                        <p>02</p>
                                    </div>
                                    <div class="second-layer">
                                        <div class="title">
                                            <h1>
                                                Digitalisasi dan Industri 4.0: Manajemen data untuk perkembangan tren transformasi
                                            </h1>
                                        </div>
                                        <div class="date">
                                            <p>Lintasarta</p>
                                            <p>July 30,2020</p>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="slider-indicator">
                            <div class="slider-1 active">
                                For Slider 1
                            </div>
                            <div class="slider-2">
                                For Slider 2
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </section>

CSS

#bannerHome{
    height: 100vh ;
    background-color: #c6c6c6;

    #homeBanner {
        height: 100vh ;
        padding: 0;

        .slider-banner {
            height: 100%;
            width: 100%;

            .item {
                height: 100vh ;

                .content{
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    position: relative;
                    height: 100%;
                    padding: 0 10%;

                    .first-layer{
                        position: absolute;
                        top: 45%;
                        left: 0;
                        transform: translate(0,-45%);

                        p {
                            color: #fff;
                            font-size: 350px;
                            opacity: .15;

                            &:nth-child(2){
                                position: absolute;
                                font-size:45px;
                                top: 40%;
                                left: 25%;
                                transform: translate(-25%,-40%);
                                opacity: 1;

                                &::before{
                                    content: '';
                                    position: absolute;
                                    width: 20px;
                                    height: 3px;
                                    background-color: #fff;
                                    top: 10px;
                                    left: -50px;
                                }
                            }
                        }
                    }

                    .second-layer{
                        .title{
                            width:55%;

                            h1{
                                color: #fff;
                                font-size: 25px;
                                line-height: 25px;
                            }
                        }

                        .date{
                            display: flex;
                            position: relative;
                            margin-top: 30px;
                            
                            p{
                                color: #e6e6e6;
                                margin-right: 10px;
                                font-size: 15px;
            
                                &:nth-child(2){
                                    padding-left: 10px;
                                    position: relative;
                                  display:none;
            
                                    &::before{
                                        content: '';
                                        position: absolute;
                                        left: 0;
                                        bottom: 0;
                                        border-left: 1px solid #e6e6e6;
                                        height: 100%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

.arrowBannerLeft{
    position: absolute;
    background: transparent;
    border: none;
    top: 55%;
    left: 5%;
    transform: translate(-5%,-55%);
    z-index: 1;

    &:focus{
        outline: none;
        box-shadow: none;
    }
}

.arrowBannerRight{
    position: absolute;
    background: transparent;
    border: none;
    top: 48%;
    left: 5%;
    transform: translate(-5%,-48%);
    z-index: 1;

    &:focus{
        outline: none;
        box-shadow: none;
    }
}

.slider-indicator {
    position: absolute;
    display: flex;
    bottom: 15%;
    left: 50%;
    transform: translate(-50%,-15%);
    z-index: 1;

    .slider-1,.slider-2 {
        color: #fff;
        padding: 10px 40px;
        border-top: 1px solid #000;

        &.active{
            border-top: 3px solid #EB961D;
        }
    }
}

JS

var bannerSlider = $('.slider-banner');

$('.slider-banner').slick({
   // arrows: false,// dots: true,slidesToShow: 1,slidesToScroll: 1,prevArrow: "<button class='arrowBannerLeft'><img src='assets/img/component/icon/arrowBlockLeft.svg' class='img-fluid'></button>",nextArrow: "<button class='arrowBannerRight'><img src='assets/img/component/icon/arrowBlockRight.svg' class='img-fluid'></button>",});

$(".arrowBannerLeft").on("click",function() {
    $('.slider-banner').slick("slickNext");
    var currentSlideIndex = $(".slider-banner").slick("slickCurrentSlide")
});

$(".arrowBannerRight").on("click",function() {
   $(".slider-banner").slick("slickPrev");
   var currentSlideIndex = $(".slider-banner").slick("slickCurrentSlide");
});

$('.slider-banner').on('beforeChange',function(event,slick,currentSlide,nextSlide) {
   var active_val = parseInt($(".slider-indicator .slide").addClass('active'));
   var currentSlideIndex = nextSlide;

});

解决方法

查看此代码段:

#bannerHome{
height: 100vh ;
background-color: #c6c6c6;

#homeBanner {
    height: 100vh ;
    padding: 0;

    .slider-banner {
        height: 100%;
        width: 100%;

        .item {
            height: 100vh ;

            .content{
                display: flex;
                flex-direction: column;
                justify-content: center;
                position: relative;
                height: 100%;
                padding: 0 10%;

                .first-layer{
                    position: absolute;
                    top: 45%;
                    left: 0;
                    transform: translate(0,-45%);

                    p {
                        color: #fff;
                        font-size: 350px;
                        opacity: .15;

                        &:nth-child(2){
                            position: absolute;
                            font-size:45px;
                            top: 40%;
                            left: 25%;
                            transform: translate(-25%,-40%);
                            opacity: 1;

                            &::before{
                                content: '';
                                position: absolute;
                                width: 20px;
                                height: 3px;
                                background-color: #fff;
                                top: 10px;
                                left: -50px;
                            }
                        }
                    }
                }

                .second-layer{
                    .title{
                        width:55%;

                        h1{
                            color: #fff;
                            font-size: 25px;
                            line-height: 25px;
                        }
                    }

                    .date{
                        display: flex;
                        position: relative;
                        margin-top: 30px;

                        p{
                            color: #e6e6e6;
                            margin-right: 10px;
                            font-size: 15px;

                            &:nth-child(2){
                                padding-left: 10px;
                                position: relative;
                                display:none;

                                &::before{
                                    content: '';
                                    position: absolute;
                                    left: 0;
                                    bottom: 0;
                                    border-left: 1px solid #e6e6e6;
                                    height: 100%;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
}

.arrowBannerLeft{
position: absolute;
background: transparent;
border: none;
top: 55%;
left: 5%;
transform: translate(-5%,-55%);
z-index: 1;

&:focus{
    outline: none;
    box-shadow: none;
}
}

.arrowBannerRight{
position: absolute;
background: transparent;
border: none;
top: 48%;
left: 5%;
transform: translate(-5%,-48%);
z-index: 1;

&:focus{
    outline: none;
    box-shadow: none;
}
}

.slider-indicator {
position: absolute;
display: flex;
bottom: 15%;
left: 50%;
transform: translate(-50%,-15%);
z-index: 1;
}

.slider-1,.slider-2 {
color: #fff;
padding: 10px 40px;
border-top: 1px solid #000;
}

.slider-1.active,.slider-2.active{
border-top: 3px solid #EB961D;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Bootstrap core CSS -->
    <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet">

    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.css" integrity="sha512-wR4oNhLBHf7smjy0K4oqzdWumd+r5/+6QO/vDda76MW5iug4PT7v86FoEkySIJft3XA0Ae6axhIvHrqwm793Nw==" crossorigin="anonymous" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.css" integrity="sha512-6lLUdeQ5uheMFbWm3CP271l14RsX1xtx+J5x2yeIDkkiBpeVTNhTqijME7GgRKKi6hCqovwCoBTlRBEC20M8Mg==" crossorigin="anonymous" />
    <title>Test</title>
</head>
<body>


    <section id="bannerHome">
        <div class="container-fluid">
            <div class="row">
                <div class="col-12" id="homeBanner">
                    <div class="slider-banner">
                        <div class="item">
                            <div class="content">
                                <div class="first-layer">
                                    <p>01</p>
                                </div>
                                <div class="second-layer">
                                    <div class="title">
                                        <h1>
                                            Digitalisasi dan Industri 4.0: Manajemen data untuk perkembangan tren transformasi
                                        </h1>
                                    </div>
                                    <div class="date">
                                        <p>Lintasarta</p>
                                        <p>July 30,2020</p>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="item">
                            <div class="content">
                                <div class="first-layer">
                                    <p>02</p>

                                </div>
                                <div class="second-layer">
                                    <div class="title">
                                        <h1>
                                            Digitalisasi dan Industri 4.0: Manajemen data untuk perkembangan tren transformasi
                                        </h1>
                                    </div>
                                    <div class="date">
                                        <p>Lintasarta</p>
                                        <p>July 30,2020</p>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="slider-indicator">
                      <div class="slider-1 active">
                          For Slider 1
                      </div>
                      <div class="slider-2">
                          For Slider 2
                      </div>
                  </div>
              </div>
          </div>
      </div>
  </section>


  <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>

  <!-- Bootstrap tooltips -->
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.4/umd/popper.min.js"></script>
  <!-- Bootstrap core JavaScript -->
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/js/bootstrap.min.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js" integrity="sha512-XtmMtDEcNz2j7ekrtHvOVR4iwwaD6o/FUJe6+Zq+HgcCsk3kj4uSQQR8weQ2QVj1o0Pk6PwYLohm206ZzNfubg==" crossorigin="anonymous"></script>

  <script type="text/javascript">
      var bannerSlider = $('.slider-banner');

      $('.slider-banner').slick({
                // arrows: false,// dots: true,slidesToShow: 1,slidesToScroll: 1,prevArrow: "<button class='arrowBannerLeft'><i class='fas fa-chevron-left'></i></button>",nextArrow: "<button class='arrowBannerRight'><i class='fas fa-chevron-right'></i></button>",});

      $(".arrowBannerLeft").on("click",function() {
        $('.slider-banner').slick("slickNext");
        var currentSlideIndex = $(".slider-banner").slick("slickCurrentSlide")
    });
      $(".arrowBannerRight").on("click",function() {
        $(".slider-banner").slick("slickPrev");
        var currentSlideIndex = $(".slider-banner").slick("slickCurrentSlide");
    });

      $('.slider-banner').on('beforeChange',function(event,slick,currentSlide,nextSlide) {
        $(".slider-"+(nextSlide+1)).addClass('active');
        $(".slider-"+(currentSlide+1)).removeClass('active');
        var currentSlideIndex = nextSlide;
    });
</script>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-