JavaScript-无缝滚动(offset)

本文介绍了一种使用HTML和JavaScript实现的无缝图片滚动效果。通过设置图片的宽度和位置属性,可以创建一个平滑连续的横向滚动展示。用户可以通过点击按钮来控制滚动的方向和速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无缝滚动用以网站图片横向自动滚动浏览

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    *{
        margin: 0;padding: 0;
    }
    img{
        height:168px;
        width: 200px; 
    }
    li{
        list-style: none;
        float: left;
    }
    #div1{
        height: 168px;
        width: 800px;
        margin: 100px auto;
        position: relative;
        overflow: hidden;

    }
    ul{
        position: absolute;
        left: 0;
        top: o;
    }
    </style>

</head>
<body>
    <a href="javascript:;">向左</a>
    <a href="javascript:;">向右</a>
    <a href="javascript:;">加速</a>
    <a href="javascript:;">减速</a>
<div id="div1">
    <ul>
        <li><img src="照片/桥.jpg"></li>
        <li><img src="照片/彩虹.jpg"></li>
        <li><img src="照片/窗户.jpg"></li>
        <li><img src="照片/烟雾.jpg"></li>
    </ul>
</div>
    
</body>
<script>
var oDiv=document.getElementById('div1');
var oUl=oDiv.getElementsByTagName('ul')[0];
var aLi=oUl.getElementsByTagName('li');
var speed=2;

oUl.innerHTML=oUl.innerHTML+oUl.innerHTML;
oUl.style.width=aLi[0].offsetWidth*aLi.length+'px';

function move(){
    //向左滚动
    if(oUl.offsetLeft<-oUl.offsetWidth/2)
        oUl.style.left='0';

    // oUl.style.left=oUl.offsetLeft-2+'px';

    //向右滚动
    if(oUl.offsetLeft>0)
        oUl.style.left=-oUl.offsetWidth/2+'px';

    oUl.style.left=oUl.offsetLeft+speed+'px';
}

var timer=setInterval(move,30)
oDiv.onmouseover=function(){
    clearInterval(timer);
}
oDiv.onmouseout=function(){
    timer=setInterval(move,30);
}
//向左滚动
document.getElementsByTagName('a')[0].onclick=function(){
    speed=-2;
}
//向右滚动
document.getElementsByTagName('a')[1].onclick=function(){
    speed=2;
}
//加速滚动
document.getElementsByTagName('a')[2].onclick=function(){
    speed=speed+speed;
}
//减速滚动
document.getElementsByTagName('a')[3].onclick=function(){
    speed=speed/2;
}
</script>
</html>

1

offsetleft:用于获取物体左边距
offsetTop:用于获取物体上边距
offsetlWidth:用于获取物体宽度

2

innerHTML用于获取标签内的内容

3

<a href="javascript:;"></a>
在执行该段代码时,去执行<script>里调用该便签的代码

4

margin:0px auto;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值