javascript - 如何使该 slider 中的列表项之间的间距相等?

标签 javascript jquery list slider

使用appendTo,项目之间的距离消失了。第 1 项和第 2 项之间。随着 padding-bottom、left 或 ... 的变化,我没有进一步的了解。这里有人给我提示吗?我被困住了。

    $('#slider ul li:first-child').appendTo('#slider ul');

https://jsfiddle.net/Reksio/ofsny8g7/3/

最佳答案

$(function() {
  var nMax = $('#slider ul li').length;
  $('a.back').css({'visibility':'hidden'});
 
 function moveToRight() {
    var num1 = $('#slider ul li:first-child').attr('id').replace('slide','');
    var num2 = $('#slider ul li:last-child').attr('id').replace('slide','');
    if(nMax - 3 == num1) {
      $('a.next').css({'visibility':'hidden'});
    }
    else {
      $('a.back').css({'visibility':'visible'});
    }
    $('#slider ul li:first-child').appendTo('#slider ul');
    var num1 = $('#slider ul li:first-child').attr('id').replace('slide','');
    var num2 = $('#slider ul li:last-child').attr('id').replace('slide','');
  };

function moveToLeft() {
    var num1 = $('#slider ul li:first-child').attr('id').replace('slide','');
    var num2 = $('#slider ul li:last-child').attr('id').replace('slide','');
    if(nMax - 1 != num1) {
      $('a.next').css({'visibility':'visible'});
    }
    if(num2 == 1) {
      $('a.back').css({'visibility':'hidden'});
    }
    $('#slider ul li:last-child').prependTo('#slider ul');
    var num1 = $('#slider ul li:first-child').attr('id').replace('slide','');
    var num2 = $('#slider ul li:last-child').attr('id').replace('slide','');
  };
  $('a.next').on('click', function() {
    moveToRight();
  });
  $('a.back').on('click', function() {
    moveToLeft();
  });
});
* {
  margin: 0px;
  padding: 0px;
  font-family: Verdana, Arial, sans-serif;
}
#main {
  margin: 10px auto;
  width: 800px;
  text-align: center;
}
#headline1 {
  width: 500px;
  border: 1px solid #F0F0F0;
  text-align: left;
  margin: 0px auto;
}
#slider {
  position: relative;
  overflow: hidden;
  width: 800px;
  height: 300px;
  margin: 20px auto;
  padding: 0px;
  border: 1px solid #00F;
}
#slider ul {
  list-style: none;
  position: relative;
  border: 1px solid #CCC;
	margin: 2px;
	padding: 2px;
  font-size:0px;
}
#slider ul li {
  position: relative;
  width: 200px;
  height: 300px;
  font-size: 40px;
  line-height: 300px;
  text-align: center;
  display: inline-block;
	padding: 10px;
	margin: 0px;
}

#slider ul li div{
  background: #CCC;
  border: 1px solid #333;
}

a.next, a.back {
  background: #0F0;
  position: relative;
  padding: 10px;
  text-decoration: none;
  z-index: 999;
  left: -350px;
  top: -180px;
}
a.next {
  left: 352px;
  z-index: 2000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="main">
<div id="headline1">dfasfdasfdasf </div>

<div id="slider">
  <ul>
    <li id="slide1"><div>SLIDE 1</div></li>
    <li id="slide2"><div>SLIDE 2</div></li>
    <li id="slide3"><div>SLIDE 3</div></li>
    <li id="slide4"><div>SLIDE 4</div></li>
    <li id="slide5"><div>SLIDE 5</div></li>
    <li id="slide6"><div>SLIDE 6</div></li>
    <li id="slide7"><div>SLIDE 7</div></li>
    <li id="slide8"><div>SLIDE 8</div></li>
  </ul>
</div>

  <a href="#" class="next"> > </a>
  <a href="#" class="back"> < </a>
</div>

关于javascript - 如何使该 slider 中的列表项之间的间距相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61110043/

相关文章:

javascript - 从命令行程序计算价格

javascript - 创建扩展时出现 Qlik Sense 错误

javascript - 风格矩形的最小尺寸

javascript - 为什么 $.when() 不等待函数完成?

python - 向前查找列表项的组合对

python - 查找 Dataframe : Python pandas module 中的最后一行

javascript - 查找字符串中出现的单词

javascript - 单击元素外部以隐藏元素

javascript - knockout 不更新输入值随日期选择器更改

C# List<T> 包含测试