将饼图动画延迟到视口中
Delay pie chart animation until in viewport
我正在使用LugoLabs的这个名为"Circles"的jquery插件,以便在我正在构建的网站上制作一些饼图动画。(https://github.com/lugolabs/circles)
它工作得很好,但饼图动画在页面加载时开始,我想延迟它,直到观众看到它。
是否可以使用像viewportchecker这样的东西.js(https://github.com/dirkgroenen/jQuery-viewport-checker)仅在有人查看动画时才启动动画?我之前在其他项目中成功使用它,但我很难将其与现有的 javascript 集成。
----设置示例---
.HTML:
<div class="circle" id="circles-1"></div>
脚本:
var myCircle = Circles.create({
id: 'circles-1',
radius: 60,
value: 43,
maxValue: 100,
width: 10,
text: function(value){return value + '%';},
colors: ['#D3B6C6', '#4B253A'],
duration: 400,
wrpClass: 'circles-wrp',
textClass: 'circles-text'
styleWrapper: true,
styleText: true
});
如前所述评论: 圆圈 github 有一个示例,用于在查看圆圈时启动圆圈动画:https://github.com/lugolabs/circles/blob/master/spec/viewport.html。
我添加了一个包含此示例的小提琴,并且由于存在如何调整 OP 中的圆圈以使用此示例的问题,我在另一个小提琴中对其进行了调整。唯一的调整是更改函数createCircles
如下所示:
function createCircles() {
var myCircle = Circles.create({
id: 'circles-1',
radius: 60,
value: 43,
maxValue: 100,
width: 10,
text: function(value){return value + '%';},
colors: ['#D3B6C6', '#4B253A'],
duration: 400,
wrpClass: 'circles-wrp',
textClass: 'circles-text',
styleWrapper: true,
styleText: true
});
}
你不能像这样计算滚动高度吗:
$(document).scroll(function(){
if($(window).scrollTop() + $(window).height() > $('#circles-1').offset().top + 810)
{
$(function() {
///your pies, 810px is your height
});
});
}
});
而不是加载插件...
相关文章:
- 将视口底部滚动到元素底部
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- 宽度为100%的CSS元素位于视口之外
- CSS3:当页面向下滚动到第一个视口时,是否可以在元素上触发转换
- 如何设置浏览器视口大小
- Javascript em根据窗口/视口尺寸调整大小,不影响文档样式的text/css
- 检测视口并重定向到不同的主页
- 如何在按住鼠标按钮且光标在视口外时检测鼠标离开
- iOS iPad平板电脑渲染视口不正确
- 移动设备上的视口问题
- 视口大小更改时自动刷新页面
- 在移动设备上获取视口大小
- 在 ReactJS 中获取视口/窗口高度
- 使jquery延迟加载插件在视口内工作
- Div 设置为视口高度,即使调整屏幕大小也是如此
- jQuery调整大小和视口检查点
- 将html元素渲染到浏览器视口
- 用于管理视口布局的Javascript库
- 查找's在可见屏幕(视口)的中间,滚动时