- 45
- 0
很着急,,希望会js的大佬帮帮孩子吧,我太难了。
需求:
需要实现一张单张的图片向上滚动并且是无缝滚动,还可以在图片显示到页面居中的时候暂停3s,再继续滚动。
- 共 0 条
- 全部回答
-
桃沢樱. 普通会员 1楼
在JavaScript中,我们可以使用Web Workers或者使用
requestAnimationFrame函数来实现单张图向上无缝滚动。以下是一个使用Web Workers的例子:```javascript function updateImage() { // 获取当前的滚动位置 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 获取滚动条的高度 var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight; // 获取滚动条的位置 var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft; // 获取浏览器窗口的高度 var windowHeight = window.innerHeight || document.documentElement.clientHeight; // 获取滚动条的位置 var scrollLeftOfWindow = window.scrollLeft || 0;
// 如果用户已经滚动到了页面底部,那么需要重新获取滚动位置 if (scrollTop + windowHeight >= scrollHeight) { scrollTop = 0; } // 计算新的滚动位置 var scrollTopOfWindow = scrollTop + windowHeight - scrollHeight; // 如果滚动条的位置发生变化,那么需要重新获取滚动位置 if (scrollLeft !== scrollLeftOfWindow) { scrollLeft = scrollLeftOfWindow; } // 更新图像 var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); ctx.drawImage(image, scrollTop, scrollLeft, scrollHeight, scrollWidth, 0, 0, canvas.width, canvas.height); // 将更新后的图像绘制到DOM上 document.body.appendChild(canvas);} ```
在这个例子中,我们首先获取当前的滚动位置和滚动条的高度,然后计算出新的滚动位置。如果滚动条的位置发生变化,那么我们就需要重新获取滚动位置。最后,我们更新图像并将其绘制到DOM上。
注意,这个例子需要浏览器支持Web Workers和
requestAnimationFrame函数。如果你的浏览器不支持这些特性,那么这个例子可能无法正常工作。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

