移动端实现无缝左右滑动的问题

如图红框部分所示 它可以左右无缝滑动 每次滑动的时候显示红框部分的内容 应该是滑动了整屏的宽度吧 不知道我理解对不对 然后还有一种滑动距离太小 又被拉回去的感觉
写了很久 效果实在不行 想请教大家有没有好的解决方法呢
图片描述

阅读 2.6k
3 个回答

<!DOCTYPE html>
<html>
<head>

<title></title>
<meta charset="utf-8">
<style type="text/css">
    
    *{
        margin:0;
        padding:0;
    }

    #box{
        width:800px;
        height:100px;
        position:relative;
        overflow: hidden;
    }

    ul{
        list-style: none;
        position:absolute;
        width:2000px;
        left:0; 
        top:10px;
    }

    ul li{
        width:200px;
        height:100px;
        background:#ccc;
        float: left;
        margin:5px;
    }

    .red{
        background:red;
    }

    .blue{
        background: blue;
    }

    .green{
        background: green;
    }

</style>

</head>
<body>

<div id="box">


<ul id="ul">
    <li></li>
    <li class="red"></li>
    <li class="blue"></li>
    <li class="green"></li>
</ul>

</div>

<script>

var ul = document.getElementById("ul");
var lis = ul.getElementsByTagName("li");
var len = lis.length;
var width = len 2 210; // li的宽度+margin
var html = ul.innerHTML; // ul的内容

// 动态设置ul内容和width
html += html;
ul.innerHTML = html;
ul.style.width = width + 'px';

setInterval(function(){

var left = ul.offsetLeft;

if(-left == width - 800){
    left = -(width / 2 - 800);
}

ul.style.left = --left + "px";

},1000 / 60)

</script>

</body>
</html>
这是我的例子,你可以参考一下

swiper 可以帮你

找一个走马灯组件就可以解决了。网上一大堆。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题