当前位置: 首页 > 知识库问答 >
问题:

slick.js ASNAV,用于每次重置为第一张幻灯片

司雅畅
2023-03-14

我正在使用slick.js插件,并且说出了一个问题,希望有人能帮助我。我有两个旋转木马,都有五张幻灯片,顶部旋转木马一次显示一张幻灯片,底部一次显示全部五张幻灯片。顶部可以通过箭头移动,底部每个单独的幻灯片图像都可以单击,但没有箭头或点。

预期的行为是,我希望点击旋转木马中的一个幻灯片,一次显示五个(底部),以将另一个旋转木马移动到相应的幻灯片(例如,点击底部的幻灯片3将顶部移动到幻灯片3)。类似地,如果有人旋转上面的那张,我想让底部的“活动”幻灯片对应于显示在顶部的幻灯片的数字。

下面是我希望它如何运行的示例:https://codepen.io/pjmtokyo/pen/jyyjew。“滑块同步”是另一个,但底部没有箭头:http://kenwheeler.github.io/slick/。

基本上,当我点击顶部导航上的箭头时,底部导航会适当地更新(将类“slick-active”添加到适当的幻灯片)。但是,单击底部导航总是将顶部导航返回到第一张幻灯片。我做错了什么,所以点击底部没有适当地更新顶部?

下面是我的Slick.1.4.1选项(我将Slick.1.4.1与Jquery 3.2.1一起使用):

  # HOMEPAGE WHO WE SERVE SLIDER
  homepageWhoWeServeSlickOptions =
    slidesToShow: 1,
    slidesToScroll: 1,
    arrows: true,   
    asNavFor: '.home-serve-icons',

  homeServeIconsOptions =
    slidesToShow: 5,
    slidesToScroll: 1,
    asNavFor: '.home-serve-scroll',
    arrows: false,
    focusOnSelect: true
  $('.home-serve-scroll').slick(homepageWhoWeServeSlickOptions)
  $('.home-serve-icons').slick(homeServeIconsOptions)

  $('.home-serve-icons .slick-slide').removeClass 'slick-active'
  $('.home-serve-icons .slick-slide').eq(0).addClass 'slick-active'

  $('.home-serve-scroll').on 'beforeChange', (event, slick, currentSlide, nextSlide) ->
    mySlideNumber = nextSlide
    $('.home-serve-icons .slick-slide').removeClass 'slick-active'
    $('.home-serve-icons .slick-slide').eq(mySlideNumber).addClass 'slick-active'
    return

下面是Slick所针对的HTML(交织在其中的Twig代码):

{% from '_macros/button' import button as m_button %}
{% set whoWeServe = craft.entries.section('homepageWhoWeServe').limit(5) %}
<section>
    <div class="container">
        <div class="row">
            <div class="col-md-10 col-md-offset-1">
                <div class="home-serve-scroll" style="padding: 0px 40px;">
                    {% for entry in whoWeServe.all() %}
                        <div id="serve-{{ loop.index }}">
                            <h2>{{ entry.title }}</h2>
                            {{ entry.whoWeServeDescription }}
                            {% set destination = entry.whoWeServeLandingPage.one.getUrl() %}
                            {% set text = entry.whoWeServeCtaText | default("Learn More") %}
                            {{ m_button(destination, text, {classes:'important-cta-button'}) }}
                        </div>
                    {% endfor %}
                </div>
            </div>
        </div>
        <div class="col-md-10 col-md-offset-1">
            <div class="home-serve-icons">
                {% for entry in whoWeServe.all() %}
                    <div id="serve-icon-{{ loop.index }}">
                        {{ entry.title }}
                    </div>
                {% endfor %}
            </div>
        </div>  
    </div>
</section>

共有1个答案

奚昌胤
2023-03-14

所以我才得以解决这个问题。Gouigouix对这个问题的评论是诀窍:https://github.com/kenwheeler/slick/issues/649

基本上,您在容器div中有一个合适的HTML标记来使其工作。我刚有一个div里面有一些未包装的文本。所以改变这个:

    <div class="col-md-10 col-md-offset-1">
        <div class="home-serve-icons">
            {% for entry in whoWeServe.all() %}
                <div id="serve-icon-{{ loop.index }}">
                    {{ entry.title }}
                </div>
            {% endfor %}
        </div>
    </div>  

对此:

    <div class="col-md-10 col-md-offset-1">
        <div class="home-serve-icons">
            {% for entry in whoWeServe.all() %}
                <div id="serve-icon-{{ loop.index }}">
                    <p>{{ entry.title }}</p>
                </div>
            {% endfor %}
        </div>
    </div>  

就是那张罚单。希望能帮到别人!

 类似资料:
  • 我想拿一张PowerPoint幻灯片(“源”),并将其插入到另一张已经包含一些内容的PowerPoint幻灯片(“目标”)中,位于源PowerPoint幻灯片中的特定位置。 我已经尝试了几种方法来研究这样做的代码,但是我不断得到将幻灯片合并到PowerPoint演示文稿中的结果,这不是我想要的。我想拿一张现有的幻灯片并将其插入到另一张幻灯片中,就像在现有幻灯片中插入图片一样。 我有另一位同事编写的

  • 我正在使用一个名为WideText的轻量级jQuery插件来调整Bootstrap3Carousel幻灯片上的标题大小。 它通过添加一个具有计算字体大小的样式来将文本(span class=“响应”)与包含div的全部宽度相匹配。 当页面加载时,第一张幻灯片的标题应用了字体大小样式。但是当下一张幻灯片进来时,字体大小样式没有应用。 这里是第一张幻灯片的图片,然后是下一张幻灯片(我没有足够的信誉在这

  • 我有一个带有每张幻灯片注释的简报。对于每张幻灯片,我想复制笔记,创建一个带有黑色边框的黄色矩形,然后将笔记粘贴到矩形中。 我开始“拼接”一个宏。这是我目前掌握的情况。它可以工作,但是矩形在顶部(需要在底部),不知道如何将注释复制并粘贴到矩形中: 我需要将“测试”替换为幻灯片注释区域中的文本(可能是几个句子)。 我感谢你的帮助!

  • 问题内容: 首先,我知道在回答不能解决我的问题之前就已经问过这个问题了,所以我想再问一遍:我使用了“ W3school”的幻灯片代码,该代码提供了很好的动画Jquery幻灯片。不幸的是,我的页面上需要多个,第二个页面使第一个页面无法正常工作。甚至在这里找到此解决方案之前,我都尝试过更改不同幻灯片对象的CSS和HTML名称,从而成功地解决了一部分问题(第二个未显示),但是如前所述,第一个问题停止了工

  • 使用幻灯片组件,你需要在 sm.js 和 sm.css 之后额外引入如下两个文件: <link rel="stylesheet" href="//g.alicdn.com/msui/sm/0.6.2/css/sm-extend.min.css"> <script type='text/javascript' src='//g.alicdn.com/msui/sm/0.6.2/js/sm-exte

  • 现在我生成了一组幻灯片,当我以pps形式打开它时,它不会在幻灯片之间转换,除非我在微软的powerpoint编辑器中打开它(我可以在其中添加转换)并保存它。然后它可以正常转换。 我认为这与幻灯片母版有关:https://poi.apache.org/apidocs/org/apache/poi/xslf/usermodel/XSLFSlideMaster.html但我不确定它是如何使用的,因为它说