highcharts:在可见时而不是在页面加载时触发动画

2023-12-02

我有一个页面分为几个部分,可以通过锚点访问。 有没有办法让 highcharts 动画在其特定部分变得可见而不是在页面加载时触发?

http://jsfiddle.net/YFMSb/2/(图表位于“技能”下,因此希望在调出页面的该部分时出现初始动画。不需要在后续访问/通过该部分时重新设置动画)

$(function () {
$('#container').highcharts({
    chart: {
            type: 'bar',
            spacingTop: 0
        },

        title: {
            text: ''
        },

        xAxis: {
            labels: {
                enabled: false
            }
        },

        yAxis: {
            min: 0,
            max: 100,
            title: {
                text: ''
            },
            labels: {
                enabled: false
            }
        },

        plotOptions: {
            series: {
                stacking: 'normal'
            }
        },


        tooltip: {
            formatter: function() {
               return '<b>'+ this.series.name +'</b>';
            }
        },

        series: [{
            name: 'clean',
            data: [10],
        }, {
            name: 'eat',
            data: [10]
        }, {
            name: 'sleep',
            data: [40]
        }, {
            name: 'work',
            data: [30]
        }, {
            name: 'play',
            data: [10]
        }]

    });
});

将滚动事件侦听器附加到窗口,以检测您何时靠近skills部分。创建图表时,删除滚动侦听器以确保图表仅创建一次。这也将有助于提高性能:没有理由去监听我们不再响应的事件。

如果用户单击skills链接在顶部。

您要小心滚动事件,因为它可能是真正的性能瓶颈。我拿了approachJohn Resig 建议定期检查滚动位置。

工作演示

$(function () {
    var $window = $(window),
        didScroll = false,
        skillsTop = $('#skills').offset().top - 40; //the point at which we will create the chart

    $window.on('scroll', function () {
        //detected a scroll event, you want to minimize the code here because this event can be thrown A LOT!
        didScroll = true;
    });

    //check every 250ms if user has scrolled to the skills section
    setInterval(function () {
        if (didScroll) {
            didScroll = false;
            if ($window.scrollTop() >= skillsTop) {
                createChart();
            }
        }
    }, 250);

    function createChart() {
        $window.off('scroll'); //remove listener that will create chart, this ensures the chart will be created only once

        $('#container').highcharts({
            //chart configuration here
        });
    };
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

highcharts:在可见时而不是在页面加载时触发动画 的相关文章

  • Highcharts 在导出时添加图像

    我使用具有导出功能的 Highcharts 根据我的理解 将图像添加到图表中 我可以使用渲染器 该渲染器工作正常 但我不希望图像 徽标 出现在应用程序中的图表上 我希望它出现仅在出口时 我该如何做到这一点 你应该使用图表选项 http ap
  • 如何在两个动画画布元素之间进行通信?

    我想在两个动画画布元素之间进行通信 我使用 Adob e Animate CC 制作了两个 html5 canvas js 动画 我已将这两个元素放入一个 html 页面中 我可以成功地从这些动画中调用函数 在下面的代码中成功触发了警报 我
  • 使用 Highcharts 和 React 创建条形图 - 出现未找到渲染 div 的错误

    我正在尝试在我的 Web 应用程序中使用 Highcharts 创建条形图 该应用程序在前端使用 React 下面是我的仪表板 tsx 文件的片段 我基本上只是从 JSFiddle 复制并粘贴了代码 http jsfiddle net 8q
  • 如何消除使用 DrawerLayout 打开 Activity 时的延迟?

    我有一个带有 DrawerLayout 的活动 但每当它打开时 都会有一个延迟 就像屏幕变白然后绘制我的屏幕一样 这发生在转换完成后 所以看起来屏幕动画过渡有点跳跃 在将视图与 ButterKnife 绑定后 我尝试将其放在 OnCreat
  • Qt - 如何在 QGraphicsPixmapItem 中显示 gif(动画)图像

    我正在尝试在 QGraphicsPixmapItem 中使用一张闪烁的图像 显示的图像没有动画效果 下面是原始图像 下面是在 QGraphicsPixmapItem 中使用此图像的 QGraphicsScene 有人能说一下如何实现这一目标
  • UICollectionViewCell - 内容不会与单元格的 contentView 一起动画

    问题看起来像这样 http i imgur com 5iaAiGQ mp4 https i imgur com 5iaAiGQ mp4 红色是cell contentView的颜色 这是代码 https github com nezhybo
  • CSS 可见性动画不起作用

    我想在 CSS 可见性属性上制作基于关键帧的动画 我最初在 显示 上尝试过 但发现不支持 显示 上的动画 但支持 可见性 这个想法是让矩形的可见性不断切换 我不想使用 jquery 并且想在 CSS 中实现整个它 以下是我的代码 但它没有给
  • SwiftUI withAnimation 完成回调

    我有一个基于某种状态的 swiftUI 动画 withAnimation linear duration 0 1 self someState newState 上述动画完成时是否会触发任何回调 如果有关于如何在 SwiftUI 中使用完成
  • 即使设置为 false,clipChildren 也不起作用?

    在我的应用程序中 我尝试使用动画移动图像 当我尝试制作动画时 即使我使用了图像 图像也会被剪切clipChildren每个 xml 块中均为 false
  • 通过使用计时器(或处理程序)更改 ImageView 中的图像来创建动画

    我想通过更改 ImageView 内的帧来创建一个简单的动画 我不想使用 AnimationDrawable 因为我需要在帧更改或动画停止时接收事件 以便能够向后播放 重新启动等等 我的问题是 尽管 setImageDrawable 被调用
  • 创建超过 2 组的高图表密度

    我尝试用两个以上的组创建高图表密度 我找到了一种手动将它们逐一添加的方法 但必须有更好的方法来处理组 示例 我想创建一个类似于下面的ggplot图表的highchart 而不需要将它们一一添加 有什么办法可以做到吗 d f lt data
  • 图表处理程序配置中的临时图像目录无效

    我正在使用 highchart 仅当我在内网网络中的 IIS 服务器上运行我的网站时 才会出现此错误 相反 它在开发服务器中运行良好 Visual Studio 2012 图表处理程序配置中的临时图像目录无效 c TempImageFile
  • WPF:故事板的样式返回“无法在不可变对象实例上对‘颜色’进行动画处理。”

    我有以下 XAML
  • Android 简单 TextView 动画

    我有一个 TextView 我想倒计时 3 2 1 发生了事情 为了使其更有趣 我希望每个数字都以完全不透明开始 然后淡出至透明 有没有一种简单的方法可以做到这一点 尝试这样的事情 private void countDown final
  • 如何重新启动/重置 Jquery 动画

    如何在 jquery 中重置动画 例如 CSS block position absolute top 0 left 0 JS block animate left 50 top 50 如果我做 block stop 动画将停止 但我怎样才
  • 背景颜色变化

    SolidColorBrush bgColor public ModernBTN InitializeComponent this Loaded delegate object sender RoutedEventArgs e bgColo
  • 使用 css 变换在其父对象的宽度上对对象进行动画处理

    我正在尝试使用 css 转换来转换 100 宽度包装器内元素的位置来提高动画性能 因此 它从左侧进入屏幕并从右侧退出 然后重复动画 我想我可以在这个动画中使用百分比 我发现翻译与您正在制作动画的对象相关 因此 如果您有一个 100px 宽的
  • 如何在 html 5 画布上旋转单个对象?

    我试图弄清楚如何在 html 5 画布上旋转单个对象 例如 http screencast com t NTQ5M2E3Mzct http screencast com t NTQ5M2E3Mzct 我希望每一张卡都能以不同的角度旋转 到目
  • jQuery 动画延迟

    如何使用 jQuery 延迟动画 我需要获得一个导航来扩大宽度 然后扩大高度 然后反转以获得反向动画 Code function nav li not logo nav li ul li hover function this animat
  • matlab 中的动画绘图

    我正在尝试创建一个三角形的动画图 最终结果应该是十个三角形 后面跟着两个更大的三角形 后面跟着一条直线 使用matlab文档 https de mathworks com help matlab ref drawnow html 我最终得到

随机推荐

  • 不可为空类型 'System.DateTime' ,ASP.NET MVC

    我有一个注册页面 由于内容问题 我们必须要求并强制申请人提供出生日期 所以按理说这个字段不能为空 我使用 jQuery 在文本框上加水印 告诉他们可以单击它并获取 jQuery UI 日历对象来选择日期 选择日期效果很好 这不是问题 在测试
  • 重写 App.xaml.cs 中的方法值

    我正在开发 Windows 8 Phone 应用程序 我这里有两件事 一个是库项目 另一个是普通应用程序 让我首先解释一下我的代码 在图书馆项目中 class A public static string empName ABC publi
  • 如何从 .ipa 文件获取源代码? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以对我的 iPhone 应用程序进行逆向工程 我正在为客户构建一个应用程序 并希望向他发送我创建的每个构建的 ipa 文件 以便他可以使用该应用程序 然而 在他付钱给我之前 我不希望他能够访问源
  • 如何将SwingWorker的publish委托给其他方法

    我的 问题 可以用以下方式描述 假设我们有一个密集的进程 我们希望在后台运行并让它更新 Swing JProgress 栏 解决方案很简单 import java util List import javax swing JOptionPa
  • 在 Mac OSX 上使用 MAMP 时,如何让 CakePHP Baker 找到 mysql.sock 并识别 MySQL?

    我目前正在阅读 David Golding 的 Beginning CakePHP From Novice to Professional 在某一时刻 我必须使用 CLI 命令 蛋糕烘焙 我会看到欢迎屏幕 但当我尝试烘焙时 例如 控制器我收
  • c++ 11 mersenne_twister_engine 类的问题

    我一直在尝试使用 c 11 mersenne twister engine 类 http www cplusplus com reference random mersenne twister engine 生成区间 0 1 中的数字 但是
  • create-react-app 自版本 4.0.1 起不再工作

    我尝试安装create react app using npm i create react app npx create react app new app and npm init react app new app 但我不断收到此错误
  • 如何使用甲骨文钱包

    我正在尝试将密码存储在 Oracle Wallet 文件中 我将从代码中检索并使用该文件 我尝试创建一个钱包并在那里保存凭证 mkstore wrl
  • “OPEN_URI”的菜单项不存在于菜单项返回中

    我有一张卡片正在通过镜像 API 插入到我的时间线中 该卡有 3 个选项 扫描 回复 删除 预期 gt 条码测试 扫描 回复 删除 已收到 gt 条码测试 回复 删除 回复和删除选项仅在菜单项上返回 如果我将 OPEN URI 更改为 CU
  • 替换列中匹配的值

    我是 R 编程新手 我一直停留在下面的示例上 基本上我有两个数据集 数据集1 ID Category 1 CatZZ 2 CatVV 3 CatAA 4 CatQQ 数据集2 ID Category 1 Cat600 3 Cat611 我试
  • Unity中如何减少VR游戏的延迟

    我一直在使用 Unity3d 构建 VR 游戏 它只有低多边形模型 文件大小小于 40 mb 但在移动设备上玩游戏时仍然滞后 请建议如何提高性能 先感谢您 为了提高移动 VR 的性能 您必须尽可能优化一切 您应该牢记以下一些变量 图形方面
  • Django 自引用外键

    一般来说 我对网络应用程序和数据库的东西比较陌生 所以这可能是一个愚蠢的问题 我想创建一个模型 CategoryModel 其中的字段指向模型的另一个实例 其父级 的主 ID class CategoryModel models Model
  • 用下划线替换文件名中的括号和空格

    我用这一行删除文件夹名称上的空格 find tmp depth name execdir rename s g 有没有办法从文件名中删除空格和括号并添加下划线 例如 我有 a dir 1 file with spaces and paren
  • XSLT:从 xsd 获取枚举

    我在 xsd 文件中有这个枚举
  • 什么是 Unix 时间戳以及为什么使用它?

    什么是 Unix 时间戳 在 PHP 中 当处理日期时 该函数strtotime 输出一些整数值 那是什么 我试图了解这一点 但我无法得到满意的答案 特别是为什么我们需要使用转换日期strtotime 什么是 Unix 时间戳 简而言之 U
  • 使用 CSOM 对 Sharepoint Online 进行身份验证

    我觉得我在这里错过了一些东西 我尝试通过 C 控制台应用程序登录 SPO 租户 但收到错误 无法联系网站 https xxx sharepoint com 或者网站不支持 SharePoint Online 凭据 响应状态代码为 未经授权
  • 未声明的标识符 - 不确定为什么

    我刚学C 我写了以下内容 void main void unsigned int curr dat 0 The current dat file to use unsigned char ch 0 Key entered at keyboa
  • 在 CMake 中列出 include_directories

    我有一个 cmake 构建 其中我正在搜索一堆依赖项 即我有很多实例 FIND PACKAGE SomePackage if SOMEPACKAGE FOUND include directories SOMEPACKAGE INCLUDE
  • 在 PostgreSQL 中使用 1 个查询选择特定行的最佳方法?

    我有一个 Java 应用程序 要求我在给定特定条件的情况下查找特定记录 例如 我有一张桌子 id song artist record label 1 Never Gonna Give You Up Rick Astley Rickroll
  • highcharts:在可见时而不是在页面加载时触发动画

    我有一个页面分为几个部分 可以通过锚点访问 有没有办法让 highcharts 动画在其特定部分变得可见而不是在页面加载时触发 http jsfiddle net YFMSb 2 图表位于 技能 下 因此希望在调出页面的该部分时出现初始动画