首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery范围-滑块内容显示在步骤上

Jquery范围-滑块内容显示在步骤上
EN

Stack Overflow用户
提问于 2016-05-18 08:10:49
回答 2查看 478关注 0票数 1

我在根据jQuery UI范围滑块的当前步骤显示内容时遇到了问题,例如,在第二步,我只需要显示第二步内容。

http://codepen.io/anon/pen/LNoXqX

HTML:

代码语言:javascript
复制
<span class="becky">first-step</span>
<span class="becky">second-step</span>
<span class="becky">third-step</span>
<span class="becky">fourth-step</span>
<span class="becky">fifth-step</span>

<div id="slider-2"></div>

 <!-- Content that I need show -->
 <span id="first-step-content">first-step-content</span> 
 <span id="second-step-content">econd-step-content</span>
 <span id="third-step-content">third-step-content</span> 
 <span id="fourth-step-content">fourth-step-conten</span>
 <span id="fifth-step-content">fifth-step-content</span>  

代码:

代码语言:javascript
复制
$(function() {
    $( "#slider-2" ).slider({
        min: 4,
        max: 20,
        value: 12,
        step: 4,
        animate:"slow",
        orientation: "horizontal"
    });
 });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-18 08:24:52

首先,您需要一种将滚动值转换为span的方法,使用“第一”、“第二”来实现这一点,就像使用id一样。因此,添加data-属性,即:

代码语言:javascript
复制
    <div id="slider-2"></div>
       <span data-step='1'>first-step-content</span> 
       <span data-step='2'>second-step-content</span>
       <span data-step='3'>third-step-content</span> 
       <span data-step='4'>fourth-step-conten</span>
       <span data-step='5'>fifth-step-content</span>  
    </div>

接下来,听听滑块的.slide事件,它给出了在ui.value中的位置,然后使用它来显示相关的内容:

代码语言:javascript
复制
$("#slider-2").slider({
    min: 1,
    max: 5,
    value: 1,
    step: 1,
    animate:"slow",
    orientation: "horizontal",
    slide: function( event, ui ) {
        // Convert value to index
        $("span[data-step]").hide()
        $("span[data-step='" + ui.value + "']").show()
    }
});

为了简单起见,我更改了min/max/ value /step,这样就有了一个1-1的值和数据步骤。实际上,我假设您使用了min/max/step,这样滚动页就会出现在文本下面--您只需要将ui.value转换为data-step (或者可能对数据步骤使用不同的值)。

票数 1
EN

Stack Overflow用户

发布于 2016-05-18 08:25:26

我想这就是你想要的:

代码语言:javascript
复制
var val = $('#slider-2').slider("value");
if (val == 8){
   //show second-step content
}

此外,如果您有多个要显示/隐藏的值:

代码语言:javascript
复制
switch (val){
  case 8:
   //second-step
   break;
  case 12:
   //third-step
  break;
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37293799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档