无限自动上下滚动,如何控制/配置速度,结束时的暂停时间
Infinite auto scroll top-to-bottom and back, how to control/configure speed, time of pause at end?
我正试图让一长页的图像无限上下滚动(用于展览)。
这就是我一直在使用的代码(我在这里找到的代码非常有用!):https://jsfiddle.net/p7r73tke/
它基本上可以满足我的需求,但我需要更多的速度和暂停控制。
如何延长顶部的暂停时间
有没有办法让它随机暂停约1秒
有人知道一种更简单的方法来做我想做的事情吗?也许正如samuel-liew所建议的那样,javascript并不是解决问题的最佳方案
谢谢你谢谢你!
function scrollpage() {
function f() {
window.scrollTo(0, i); //idk
if (status == 0) {
i = i + 50; //scroll speed top to bottom?
if (i >= Height) {
status = 30; //idk?
}
} else {
i = i - 10; //scroll speed bottom to top?
if (i <= 1) { // if you don't want continue scroll then remove this if condition
status = 0; //idk
}
}
setTimeout(f, 0.01); //idk
}
f();
}
var Height = 15000; //doc height input manually
var i = 1, //idk
j = Height,
status = 0; //idk
scrollpage();
(正如你在评论中看到的,我是JavaScript新手,对JavaScript很敏感)
谢谢你的帮助!
jQuery解决方案:
var speed = 10000; // 10000 = 10 seconds
var doScroll = function() {
var direction = $(window).scrollTop() != 0 ? 0 : $(document).height() - $(window).height();
$('html, body').animate({ scrollTop: direction }, speed, 'linear');
}
doScroll(); // once on page load
setInterval(doScroll, speed + 10); // once every X ms
演示:http://jsfiddle.net/samliew/k35tbgau/
JavaScript:
对不起,我不建议使用纯JavaScript,因为你必须考虑:
- 获取窗口高度、文档高度和当前滚动位置的跨浏览器问题
- 每次调整浏览器大小时根据内容高度重新计算滚动速度
- 编程动画功能
- 跟踪间隔和超时,以及何时需要清除它们
- 滚动方向/状态
考虑用户是否手动滚动滚动滚动条
可能更多
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 循环结束/推送到数组之前在页面上呈现EJS
- Wacom stu-430签名捕获速度太慢
- 在另一个函数成功结束后调用该函数
- 在动画结束之前调用函数
- 如何在速度模板中获取LiferayPortlet实例id
- 希望日期开始结束于while循环中的一个房间id的一个数组
- 使用nunjucks时发生块结束错误
- HTML5获取弧的坐标's结束
- 内容结束时停止无限滚动
- 我想放慢html中进程栏的速度
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 如何在视频上显示海报图像使用Jquery结束
- 使用while循环+break是一种可接受的方式;goto;手术的结束
- 处理第三方库发送的ajax请求的开始和结束事件
- Knockout绑定大量数据的速度较慢
- 如何使动画线性传递?在开始和结束时不会放慢速度
- 如何开始新的速度.js只有当第一个结束时才有效果
- 无限自动上下滚动,如何控制/配置速度,结束时的暂停时间
- 使用googlegeolocation数组中的坐标和从开始到结束的持续时间来计算速度