请选择 进入手机版 | 继续访问电脑版
查看: 159|回复: 1

jq处理动画累加

[复制链接]
  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 1574 天

    [LV.Master]伴坛终老

    4248

    主题

    6170

    帖子

    10万

    积分

    管理员

    IBC编程社区-原道楠

    Rank: 9Rank: 9Rank: 9

    积分
    108846

    推广达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-10-24 09:50:31 | 显示全部楼层 |阅读模式

    马上加入IBC,查看更多教程

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    问题:日程提醒(跟日历一样的切换效果),只用一个div来展示当天日程数据,每次清空div里的数据再加载数据,导致切换日期时,数据展示div有闪动,于是接纳动画来进行过渡,如许就巧妙地避免了闪动;
    1. $("#siteInfo").hide(function () {    $("#siteInfo").empty();    getSite();}).fadeIn();
    复制代码
    但由于动画有完成时间,导致频仍切换日期的时间出现了动画累积的征象,操作停止后累积的动画仍在继续,如许的用户体验感是很差的,于是想到了stop()方法来停止动画
    1. $("#siteInfo").stop().hide(function () {    $("#siteInfo").empty();    getSite();}).fadeIn();
    复制代码
    看起来不错,但总觉得还差点什么,原来stop()只停止了第一个动画( [ hide() ] ),对于后续的多个动画( [ fadeIn() ] ... )就无能为力了;
    然后看了一下stop()的语法:
    1. $("element").stop([clearQueue][,gotoEnd]);  clearQueue:bool,代表是否要清空未实行的动画队列  gotoEnd:bool,有前一个参数才有此参数,代表将正在实行的动画直接跳到末状态
    复制代码
    试试一个参数
              stop(true)
    它将后续动画全部清空了,频仍切换的时间,它根本会保持在当前状态,停止操作后完成末了一次数据加载,是可行的;
              stop(false)
    跟忽略它吧,什么效果也没有
    试试两个参数
      stop(false,false),跟stop()一样
      stop(false,true),第一个动画直接跳到末端,接着继续后面的动画,所以是不满足效果的
      stop(true,false),跟stop(true)一样
      stop(true,true),跳到第一个动画末端,后续动画全部停止






    来源:https://www.cnblogs.com/tenfly/archive/2019/10/23/11726490.html
    C#论坛 www.ibcibc.com IBC编程社区
    C#
    C#论坛
    IBC编程社区
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则