带有两组的 Javascript 引用文本滑块

Posted

技术标签:

【中文标题】带有两组的 Javascript 引用文本滑块【英文标题】:Javascript quotes text silder with two sets 【发布时间】:2020-11-30 22:53:10 【问题描述】:

我想用 2 组数据创建引号文本滑块。

小提琴链接 -> https://jsfiddle.net/628r3t1h/

(function() 

    var quotes = $(".quotes");

    var quoteIndex = -1;
    function showNextQuote() 
        ++quoteIndex;

        quotes.eq(quoteIndex % quotes.length)
        .fadeIn(1500)
        .delay(1000)
        .fadeOut(1000, showNextQuote);
        
    

    showNextQuote();



)();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- set 1 -->
<h1 style="" class="sec1-head">Set 1<br/>
    <span style="" class="quotes sec1-head-quotes">Text 1.1</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 1.2</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 1.3</span>
</h1>
<!-- set 2 -->
<h1 style="" class="sec1-head">Set 2<br/>
    <span style="" class="quotes sec1-head-quotes">Text 2.1</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 2.2</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 2.3</span>
</h1>

这里 Set 1 应该首先运行,然后 Set 2 应该是可见的。并且循环必须继续。

【问题讨论】:

【参考方案1】:

像这样?

const sets = $(".set");

let set = sets[0], quote = 0;

sets.hide();

$(sets[0]).fadeIn(1500);

function showQuote() 
    if($(set).children().eq(quote).is(':last-child')) 
        if($(set).hasClass("last")) 
            set = $(".set").first();
         else 
            set = $(set).next();
        
        sets.hide();
        $(set).fadeIn(1500);
        quote = 1;
     else 
        ++quote
    
    
    $(set).children().eq(quote)
        .fadeIn(1500)
        .delay(1000)
        .fadeOut(1000, showQuote);


showQuote();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- set 1 -->
<h1 style="" class="sec1-head set">Set 1<br/>
    <span style="" class="quotes sec1-head-quotes">Text 1.1</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 1.2</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 1.3</span>
</h1>
<!-- set 2 -->
<h1 style="" class="sec1-head set last">Set 2<br/>
    <span style="" class="quotes sec1-head-quotes">Text 2.1</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 2.2</span>
    <span style="display: none;"  class="quotes sec1-head-quotes">Text 2.3</span>
</h1>

【讨论】:

以上是关于带有两组的 Javascript 引用文本滑块的主要内容,如果未能解决你的问题,请参考以下文章

带有刻度文本标签的 Qt 滑块小部件

QML 滑块刻度线在开始和结束时带有文本

如何淡化带有重叠文本的标题

纯 javascript 文本滑块,可更改 php 中的文本显示

使用带有 jquery ui 滑块的淘汰赛 js

javascript 图像滑块带有Next和Prev幻灯片可见