html图片滚动首尾互联,Flash几张图片首尾连接循环滚动

点评:要让几张图片循环滚动,最简的原理就是把连续图片再复制一份接到尾部,待第一张图片滚完之后被复制的接着滚动,下面就一起来看看吧

要让几张图片循环滚动,最简的原理就是把连续图片再复制一份接到尾部,待第一张图片滚完之后被复制的接着滚动。原理图示如图7-5所示。

cc8e05c09e08d9b5fd76d8f9894b25bc.png

图 7-5 示意图

不管是用AS控制还是利用帧手工制作都可以使用这个原理,示意图中,共有两张图片为“图片一”和“图片二”并将他复制一组。

当第一组滚出显视区时,第二组正好接替进入了显视区回到我们第一帧的起始状态。如果用帧控制,只要直接跳回起始的第一帧就行了;如果是用AS程序控制,我们再把第一组的x轴位置重新设置接到第二组后面也一样可以构成图片循环滚动。

知道了原理,我们开始做个循环滚动的图片吧。

(1).新建一个Flash文档,舞台大小设置为300*160px帧频30fps。再按“Ctrl+R”按光盘目录导入图片photo2.jpg。

(2).选中我们导入的那张图片,按快捷键“F8”跳出“转化为元件对话框”输入任意元件名称,将图片转化为“影片剪辑”。再创建动作补间,让影片从舞台一直运动到滚出舞台,如图7-6所示。

eebe79f76b446d60f41973bcbbf84f7d.png

图 7-6 第一组从舞台中直到滚出舞台区

(3).第一组的滚动补间做好了,再做第二组的滚动图片才能构成一个循环。

新建一个图层,把影片剪辑复制一份在新建的图层里第50帧处按“F7”插入空白关键帧,我们在这里插入第二组影片剪辑。再到“图层1”的最后按“F6”插入关键帧把影片剪辑的X轴设为0也就是把他位图设成第一帧的影片剪辑一样,也可以直接把第一帧复制到这里来。

注意,创建第二组影片剪辑时,Y轴位图要一样,在播放时才不会抖动。在最后一帧里,第二组的X轴要和第一组起始时一样,否则切换图时也会抖动。调整好以后可以发布了,如图7-7所示。

976c561b48a47f861feaf70399677bd6.png

图 7-7 发布连续滚动的图片

依照这种原理,我们可以做一个图片走马灯的动画,如图7-8所示。

6c19ca7b28db48fca0a64b916c264a39.png

图 7-8 制作图片走马灯效果

使用图片连续滚动可以制作很多效果,这也是适用的小技巧,需要读者们发挥自己的想象。

走马灯动画效果如下所示。

52eb0116ead1bf3745adaf524634d8a0.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用JavaScript和CSS来实现固定列表表头和循环滚动的效果。以下是一个简单的示例代码: HTML结构: ``` <div class="table-container"> <table> <thead> <tr> <th>Header 1</th> <th>Header 2</th> <th>Header 3</th> <th>Header 4</th> </tr> </thead> <tbody> <tr> <td>Row 1, Column 1</td> <td>Row 1, Column 2</td> <td>Row 1, Column 3</td> <td>Row 1, Column 4</td> </tr> <tr> <td>Row 2, Column 1</td> <td>Row 2, Column 2</td> <td>Row 2, Column 3</td> <td>Row 2, Column 4</td> </tr> <!-- more rows --> </tbody> </table> </div> ``` CSS样式: ``` .table-container { position: relative; height: 300px; /* 设置容器高度 */ overflow: auto; /* 开启滚动条 */ } table { width: 100%; border-collapse: collapse; } thead { position: sticky; top: 0; background-color: white; } th, td { padding: 8px; border: 1px solid black; } tbody:before, tbody:after { content: ""; display: block; height: 50px; /* 设置滚动空白区域高度 */ } tbody:before { margin-top: -50px; } tbody:after { margin-bottom: -50px; } ``` JavaScript代码: ``` const table = document.querySelector('table'); const tbody = table.querySelector('tbody'); table.addEventListener('scroll', () => { const topOffset = table.getBoundingClientRect().top; const tbodyOffset = tbody.getBoundingClientRect().top; const tbodyHeight = tbody.getBoundingClientRect().height; if (topOffset > tbodyOffset) { // 向下滚动时,移动最后一行到第一行之前 const lastRow = tbody.lastElementChild; const firstRow = tbody.firstElementChild; if (lastRow.getBoundingClientRect().bottom < tbodyHeight) { tbody.insertBefore(lastRow, firstRow); } } else { // 向上滚动时,移动第一行到最后一行之后 const firstRow = tbody.firstElementChild; const lastRow = tbody.lastElementChild; if (firstRow.getBoundingClientRect().top > 0) { tbody.insertBefore(firstRow, lastRow.nextElementSibling); } } }); ``` 这段代码使用`position: sticky;`将表头固定在视口顶部,并且使用`::before`和`::after`伪元素来创建顶部和底部的空白区域。在滚动时,根据滚动方向移动最后一行或第一行到对应的位置,实现列表的循环滚动效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值