- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如何在 position: fixed
元素上按下鼠标按钮时让视口(viewport)逐渐向下滚动?
最佳答案
在这里,您可以使用 jQuery.animate() 结合 setTimeout() 和 clearTimeout() 来完成此操作:
$('.button').on('mousedown', function() {
console.log('Start Animate');
(function smoothSrcroll() {
console.log(Math.max($('html').scrollTop(), $('body').scrollTop()));
$('html, body').stop().animate({
scrollTop: Math.max($('html').scrollTop(), $('body').scrollTop()) + 100
}, 1000, 'linear', function() {
window.timeout = setTimeout(smoothSrcroll(), 0);
});
})();
}).on('mouseup', function() {
console.log('Stop Animate');
$('html, body').stop();
clearTimeout(window.timeout);
});
我的目标是 $('html, body')
以便它可以在 Firefox 和 Chrome 中运行。这有点棘手,因为 animate()
实际上因为有两个选择器而运行了两次。为了解决这个问题,我使用了 jQuery.stop() 。由于 Firefox 可以使用 $('html').scrollTop()
而 Chrome 使用 $('body').scrollTop()
,我使用 Math.max() 计算增量.该函数在完成后自动执行,并在释放鼠标时使用 clearTimeout()
和 jQuery.stop()
。
关于javascript - 逐渐滚动 mousedown 直到 mouseup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776224/
我想要一个可以逐渐将页面底部的不透明度从 0 更改为 1 的函数。 我在元素的顶部使用了类似的功能,但我使用的不是淡入,而是淡出。创建它相当容易,但在页面底部使用设置的阈值淡入是一场噩梦。 经过研究,
li 状态是关闭和打开。 闭合:颜色为黑色(没有光照,相互折叠)。 打开:颜色为红色(有光,全视野)。 我希望颜色从两个元素之间的点开始淡化,以表明阴影从轴心开始,直到它们关闭。 $('button'
我的问题很简单: 1)我有一个扩展 JFrame 的主类。 2)该类内部有一个 JPanel,其顶部有一个 BufferedImage。 3)最后还有一个 JButton,我称之为“Fire”..这就
我有这个立方体,我想在延迟 3000 后将其转换为不同的 X 和 Y 点。我无法理解如何在 jQuery 的帮助下做到这一点。这是一个JS Fiddle .下面是代码。 JS // code for
我们如何向背景图像添加黑色阴影,阴影从不透明度 1 开始逐渐降低到不透明度 0,在图像的所有 4 个边上? (至少 50 像素值的“降低阴影不透明度”。box-shadow 仅提供少量不透明度逐渐下降
我是一名优秀的程序员,十分优秀!