javascript - 交换列表项的位置

标签 javascript jquery html css

我想改变列表项的位置。我有 5 个列表项,第 1 项和第 5 项是上一个和下一个按钮。我想交换列表项的位置。

我想保持第一个和第五个元素的位置不变,需要交换第二个、第三个和第四个列表项。默认情况下,在加载时我想将第 3 个元素作为中心 (28),然后单击下一个按钮希望将“27”作为中心,在下一次单击时希望将“26”作为中心,然后再次单击“28”。

现在位置不能正常工作。

jQuery(document).ready(function($) {
       var node_id = 28;
       $('.thumbnailIcon').each(function(index, item) {
            $(item).find('.' + node_id).insertAfter($(item).find('li:eq(1)'));
        });
 $('.flex-next').click(function() {
   $('.thumbnailIcon').each(function(index, item) {
			var fourthLi = $(item).find("li:nth-child(4)");
			var thirdLi = $(item).find("li:nth-child(3)").addClass("animated slideInLeft",1000);
			var firstLi = $(item).find("li:nth-child(4)").addClass("animated fadeInRight",1000);
			var secondLi = $(item).find("li:nth-child(2)").addClass("animated slideInRight",1000);
			$(secondLi).before(fourthLi);
        });
 });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content__teaser col-md-12">
			 <ul class="thumbnailIcon flex-direction-nav">
       <li class="flex-nav-prev"><a class="flex-prev" href="#">Previous</a></li>
       <li class="26 animated fadeInRight">26</li>
       <li class="28 animated slideInRight">28</li>
       <li class="27 animated slideInLeft">27</li>
       <li class="flex-nav-next"><a class="flex-next" href="#">Next</a></li></ul>		  </div>

最佳答案

希望这就是你想要的。

jQuery(document).ready(function($) {
  var list = $('.thumbnailIcon');
  var firstItem, secondItem, thirdItem;
  updateItemVariables();
  
  $('.flex-next').click(function() {
    thirdItem.after(firstItem);
    
    updateItemVariables();
  });
  
  function updateItemVariables() {
    firstItem = list.find("li:nth-child(2)");
    secondItem = list.find("li:nth-child(3)");
    thirdItem = list.find("li:nth-child(4)");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div class="content__teaser col-md-12">
  <ul class="thumbnailIcon flex-direction-nav">
    <li class="flex-nav-prev"><a class="flex-prev" href="#">Previous</a></li>
    <li class="26 animated fadeInRight">26</li>
    <li class="28 animated slideInRight">28</li>
    <li class="27 animated slideInLeft">27</li>
    <li class="flex-nav-next"><a class="flex-next" href="#">Next</a></li>
  </ul>
</div>

关于javascript - 交换列表项的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43849855/

相关文章:

javascript - 提交前执行javascript

javascript - 使用 jquery 从侧面滑动(没有 Jquery UI)

html - & 是否需要在元描述中是 & ?

javascript - JQuery 函数 .load 不起作用

javascript - 当在 Chrome 和 Firefox 中声明 DOCTYPE 时,Google Map API 不起作用

javascript - 使用 JQuery 删除表行自动计算总值

asp.net - ASP.NET Rich UI-您使用什么?

jquery - 使用jsp、servlet将图像上传到mysql

javascript - jquery attr ('checked',错误)错误

html - 为什么 visual studio code 用红色下划线标记一行,如果不是,就好像这是一个错误?