javascript - 当元素处于 View 中时运行脚本

标签 javascript scroll

有人可以修复此脚本,以便它在元素位于 View 中时运行。换句话说,它需要等到可见才能运行。谢谢! -丹

$('.amount-chart').each(function(){
var $chart = $(this),
  size = parseFloat( $chart.outerWidth() ),
  clearSet;

$chart.css({
  height: size
})
.easyPieChart({
    size: size,
    animate: 2000,
            onStep: function(from, to, currentValue) {
                $(this.el).find('span.amount-counter').text(Math.round(currentValue));
            }
});

$(window).on('resize', function(){

   size = parseFloat( $chart.outerWidth() );

   $chart.css({
      height: size
   });

   //clearTimeout(clearSet);
   //clearSet = setTimeout(function(){
      $chart.removeData('easyPieChart').find('canvas').remove();
      $chart.easyPieChart({
         size: size,
         animate: 1
      });
   //}, 100);
});    

});

最佳答案

感谢您的完整描述! 看demo

HTML

<div id="el">Pie Chart</div>    

JavaScript

var inited = false
function init() {
   // init your chart
   // code here run once on element with id="el" will in viewport
}

$(window).on('scroll', function() {
  if ( inited ) {
    return
  }

  if ( el.offsetTop >= window.innerHeight + document.body.scrollTop ) {
    inited = true
    init()
  }
})

关于javascript - 当元素处于 View 中时运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41149758/

相关文章:

javascript - React - 在 app src 文件夹中找不到 serviceWorker.js 文件

css - 如何使图像位于页面顶部?

css - 防止伪元素触发滚动

android - 调用 OnClick 而不是 onLongClick

jquery - 淡入 'scroll to top' 按钮内溢出 :auto div

javascript - 隐藏元素后滚动到顶部不起作用 (jQuery)

javascript - Mithril.js:如果 View 使用子组件,则排序数据不会重新呈现

javascript - 是否有可能在任何地方使用自动化执行 Javascript 函数?

javascript - 使用 Highcharts 在折线图中的 2 点之间画一条线?

android - android中的滚动条