javascript - 如何将 anchor 链接列表转换为选择下拉列表,在选项更改时操作更改选项卡?

标签 javascript jquery html

我有一个 anchor 链接列表,单击时可以成功淡入和淡出选项卡内容。

我需要将此列表转换为移动设备上的选择下拉菜单,并且我不确定如何更新当前设置以以相同的方式运行,除非列表采用下拉格式。

有没有简单的方法可以做到这一点?

Here is a JSFiddle

JS:

$("#customer-content .group").hide(); // Initially hide all content
$("#customer-tabs li:first").attr("id","current"); // Activate first tab
$("#customer-content .group:first").fadeIn(); // Show first tab content

$('#customer-tabs li a').click(function(e) {
  e.preventDefault();
  if ($(this).attr("id") == "current"){ //detection for current tab
    return       
  }
  else{             
    $("#customer-content .group").hide(); //Hide all content
    $("#customer-tabs li").attr("id",""); //Reset id's
    $(this).parent().attr("id","current"); // Activate this
    $($(this).attr('href')).fadeIn(); // Show content for current tab
  }
});

HTML

<ul id="customer-tabs" class="cs-tabs">
  <li><a href="#link-1">Link 1</a></li>
  <li><a href="#link-2">Link 2</a></li>
  <li><a href="#link-3">Link 3</a></li>
</ul>

<div id="customer-content">
  <div class="group" id="link-1">
    <h2>Title</h2>
    <div class="customer-accordion">
      Content
    </div>
  </div>
  <div class="group" id="link-2">
    <h2>Title 2</h2>
    <div class="customer-accordion">
      Content 2
    </div>
  </div>
  <div class="group" id="link-3">
    <h2>Title 3</h2>
    <div class="customer-accordion">
      Content 3
    </div>
  </div>
</div>

最佳答案

您可以通过索引找到相关的.group,因此使用.index()来查找所选选项的索引并使用.eq() 按索引选择.group

$("#customer-content .group").hide().first().fadeIn();
$('#customer-tabs').change(function(e) {      
  var i = $(this).find(":selected").index();
  $("#customer-content .group").hide().eq(i).fadeIn(); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="customer-tabs">
  <option selected>Link 1</option>
  <option>Link 2</option>
  <option>Link 3</option>
</select>
<div id="customer-content">
  <div class="group" id="link-1">
    <h2>Title</h2>
    <div class="customer-accordion">
      Content
    </div>
  </div>
  <div class="group" id="link-2">
    <h2>Title 2</h2>
    <div class="customer-accordion">
      Content 2
    </div>
  </div>
  <div class="group" id="link-3">
    <h2>Title 3</h2>
    <div class="customer-accordion">
      Content 3
    </div>
  </div>
</div>

关于javascript - 如何将 anchor 链接列表转换为选择下拉列表,在选项更改时操作更改选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53280970/

相关文章:

javascript - 如何确定 $(this) 是否在点击事件的数组中

javascript - 获取网页URL(不改变URL跳转到其他页面)

html - <div> 无法正确填充页面背景

javascript - Onclick 滚动到具有特定 ID 的下一个 div

javascript - 将单选按钮值传递给 Javascript

javascript - 如何在node.js中获取window.location.hash中的变量

php - 如何更改两个单词之间的文本?

javascript - 将数据添加到 DataTables 表时无法更改页面

jquery - 如何使用 JQuery 启用/禁用基于单选按钮的文本框

javascript - 如何更改数据缩放图像值