js实现走马灯效果(无缝衔接)

需要注意的是,scrollLeft属性只有当他内部元素超出父级元素时才有效,否则将一直为0,
可以将scrollLeft想象成有横向的滚动条,
scrollLeft++则相当于将滚动条向右拖动,当拖动到展示内容实际宽度后(需要另一个与展示内容相同的区域,否则一轮左移完成后会出现留白),需要恢复为0

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>game1</title>
    <style type="text/css">
    .tt {
    width: 145px;
    height: 106px;
    margin-left: 16px;
    margin-right: 16px;
    margin-top: 10px;
    display: block;
    float: 
    }

    </style>
</head>
<body>

    <div id="colee_left" style="width: 1050px;height: 150px;border:1px solid #e8e8e8;margin-top: 10px;overflow: hidden;background-color:yellow;">
        <table cellpadding="0">
            <tbody>
                <tr>
                    <td id="colee_left1" valign="top">
                        <table>
                            <tbody>
                                <tr align="center">
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>
                                    <td>
                                        <a href="#">
                                            <img class="tt" src="1.jpg"/>
                                        </a>
                                    </td>

                                </tr>
                            </tbody>
                        </table>
                    </td>
                    <td id="colee_left2" valign="top">
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
<script type="text/javascript">
    var speed = 30;
    //速度数值越大速度越慢
    var colee_left2 = document.getElementById("colee_left2");
    var colee_left1 = document.getElementById("colee_left1");
    var colee_left = document.getElementById("colee_left");
    colee_left2.innerHTML = colee_left1.innerHTML;
    function Marquee3() {
            if (colee_left2.offsetWidth - colee_left.scrollLeft <= 0){//offsetWidth 是对象的可见宽度
                    colee_left.scrollLeft -= colee_left1.offsetWidth//scrollWidth 是对象的实际内容的宽,不包边线宽度
        }
        else {
            colee_left.scrollLeft++;
        }

    }
    var MyMar3 = setInterval(Marquee3, speed);
</script>
</html>
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值