CSS 动画 onclick 和反转 next onclick

2024-01-01

我正在使用精灵表和关键帧在单击按钮时为按钮上的图像设置动画。

当单击按钮时,我希望帧沿一个方向运行,并将按钮保留在精灵表中的最后一个图像上,当再次单击按钮时,我希望相同的帧向后运行,将按钮保留在精灵表中的第一个图像上精灵表。

我目前正在尝试使用 jquery 将按钮上的类更改为单击时的动画类,但这似乎不起作用。

fiddle: http://jsfiddle.net/CGmCe/10295/ http://jsfiddle.net/CGmCe/10295/

JS:

function animate(){
    $('.hi').addClass('animate-hi');
}

CSS:

.hi {
width: 50px;
height: 72px;
background-image: url("http://s.cdpn.io/79/sprite-steps.png");
}

.animate-hi {
    animation: play 2s steps(10);
}

@keyframes play {
   from { background-position:    0px; }
     to { background-position: -500px; }
}

确保您使用的是支持动画的浏览器。对我来说,这在 Firefox 中有效。

以下可能正是您想要的:

http://jsfiddle.net/CGmCe/10299/ http://jsfiddle.net/CGmCe/10299/

Code:

function animateButton() {
  var button = $('.hi');
  if (button.hasClass('animate-hi')) {
    button.removeClass('animate-hi').addClass('animate-hi-reverse');
  } else if (button.hasClass('animate-hi-reverse')) {
    button.removeClass('animate-hi-reverse').addClass('animate-hi');
  } else {
    button.addClass('animate-hi');
  }
};
$(document).ready(function() {
  $('.hi').on("click", function() {
    animateButton();
  });
});
.hi {
  width: 50px;
  height: 72px;
  background-image: url("http://s.cdpn.io/79/sprite-steps.png");
}

.animate-hi {
  animation: play 2s steps(10);
}

.animate-hi-reverse {
  animation: play-reverse 2s steps(10);
}

@keyframes play {
  from {
    background-position: 0px;
  }
  to {
    background-position: -500px;
  }
}

@keyframes play-reverse {
  from {
    background-position: -500px;
  }
  to {
    background-position: 0px;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img src="http://s.cdpn.io/79/sprite-steps.png" />
<button class="hi" type="button"></button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 动画 onclick 和反转 next onclick 的相关文章

  • TransitionEnd 事件未触发?

    我有多个元素 每个元素都以 某种程度上 持续时间进行动画处理 我使用 CSS3 过渡 jQuery 库和transitionend辅助函数来自大卫 沃尔什 https davidwalsh name css animation callba
  • 添加自定义 CSS 到 Jekyll

    我是 Jekyll 新手 我正在按顺序使用自定义 html 和 css 制作一个网站 Jekyll 默认下载 minima 主题 所以我用以下 html 覆盖了主页 all my html
  • 为什么 inline-block 会根据子元素的宽度自动调整宽度?

    如果这个问题已经在 stackoverflow 上提出过 请纠正我 如果确实如此 我深表歉意 但我已经寻找了一段时间并且只找到了hows not whys 我的问题是 父 div 似乎会自动占据页面的整个宽度 除非 display inli
  • css 表格单元格,内容有不必要的上边距

    我在代码中使用 div 块的表格单元格排列 我的代码有问题 我的 html 的预览是here http jsbin com avozik 10 edit preview 当我的第一个面板中有任何内容 文本或图像 时 inner第二个和第三个
  • FontAwesome 与 PrimeFaces

    我一直渴望在 Primefaces 中包含 FontAwesome 图标 最后 Optimus 昨天发布了这个伟大的新图标 gt http blog primefaces org p 3004 comment 5422 http blog
  • Bootstrap中.row类的负左右边距

    只是出于好奇 为什么 bootstrap 使用 15px左和右margins 将取消15px左和右padding on container and container fluid类 为什么要设置内边距 然后在子项上使用负边距取消它 行上的负
  • Chrome 扩展:插入固定 div 作为 UI

    我想使用 chrome 扩展将 div 插入固定位置 它将覆盖您当前正在查看的页面 我担心的是 我希望它可以在任何页面上工作而不改变它 除了插入我的固定 div 之外 但我不知道我这样做的方式是否可行 目前 该按钮不会显示 并且我在让 di
  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • 获取 CSS 计算结果以设置自定义属性

    我正在测试一个 CSS 框架 用于通过微类指定数字 例如 类似的东西 div class fifty percent wide 可能会翻译成width 50 该实现使用 CSS 变量 自定义属性 考虑以下 CSS fifty number
  • 使用 PHP 将 class="active" 添加到活动页面

    动态标头 CSS 类更改为活动使用 PHP 目录 我想要的班级 li 在活动目录下更改标签 现在 每个指南都向我展示了当您的页面等于它时如何执行此操作 但我想更改 这 li li 取决于我所在的目录 例如 如果说我在 http exampl
  • 交替 div 使图像向左(偶数)或向右(奇数)

    我正在尝试更好地排列图像 而不仅仅是一列中的图像 请参阅附件中的示例 每篇文章的图像可以位于左侧和右侧 这是我的代码 HTML section class content list page section
  • 是否可以在没有 Javascript(仅 CSS)的情况下执行相同的操作(悬停效果)?

    我正在尝试创建一个带有图标的按钮像这样 http jsfiddle net pRdMc HTML div div class icon div span Send Email span div CSS button width 270px
  • 相对于变换元素的绝对定位元素位置

    我重新创建了我在模板中遇到的问题 有一个nav具有position relative 在 的里面nav有一个div有两个嵌套列表 其中一个列表的位置绝对固定在列表的底部nav 当div对其应用了变换 当 的时候div在绝对和相对定位的元素之
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 使组合高度等于浏览器窗口的高度

    http featuredfotografer com http featuredfotografer com Codemirror div 与 header div 结合占用的高度超过了浏览器的高度 我怎样才能使它们的总高度达到浏览器窗口
  • 仅水平 CSS 视差效果,层数大于 100vw

    如何用水平引导网站仅 CSS 视差效果 要求 仅 CSS 视差 父层必须具有宽度 高度 100vw 100vh 子层的宽度 高度必须 gt 100vw 100vh child layers must visually align 100 w
  • React Native 上的文本缩进

    我需要缩进 React Native 段落的第一行 但使用常见的csstext indent财产 textIndent 与 React Native 不兼容 伪元素选择器也不兼容 例如 first line 有什么方法可以做到这一点而不用将
  • 如何设置旋转元素背面的样式?

    我有一个figure它是可旋转的 通过用户输入任意角度 该旋转明显地使用transition财产 当该元件旋转超过 90 度 90 度时 元件的背面可见 我想对元素的通常隐藏的一面进行与正面不同的设计 但我不确定如何实现这一点 figure
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互

随机推荐

  • 使用 NHibernate 部分填充子集合

    我已经为此苦苦挣扎了一段时间 似乎无法弄清楚 我有一个BlogPost类 它有一个集合Comments 并且每个评论都有一个DatePosted field 我需要做的是查询BlogPost并以部分加载的方式返回它Comments集合 说的
  • 核心图 - 防止缩放/缩放图以显示完整的轴范围

    我的 y 轴边界从 0 到 100 x 轴边界从 0 到 10 当我绘制数据点 0 85 和 1 86 时 仅显示包含数据点的绘图部分 我明白这有什么用处 但就我而言 我需要显示整个轴 未缩放 有没有办法显示完整的轴 而无需缩放到数据点 感
  • 在 WPF 中向 DataGrid 添加行?

    因此在 WinForms 中您可以轻松添加一行 例如 dataGridView1 Rows Add user Handle c 但在 WPF 中 当我尝试使用 DataGrid 时 没有 行 属性 有没有什么方法可以在 WPF 中做到这一点
  • redis.conf 中的“tcp-backlog”是什么

    我很困惑tcp backlog在 redis conf 中 TCP listen backlog In high requests per second environments you need an high backlog in or
  • 如何处理SonataAdminBundle列表视图中的每个实体?

    如何将一些代码应用于管理员列表视图中显示的每个实体 例如 如果我有一个TagManager并且需要为每个显示的实体加载标签 我该怎么做 是否有一种方法可以在实体的管理中覆盖 或者我可以绑定到某些列表表单事件吗 我找不到地方可以做到这一点 我
  • 使用 hyper 将块流异步写入文件

    我正在尝试创建一个简单的函数 使用 hyper 将远程文件下载到本地文件路径 我也需要异步写入文件 在我的例子中我使用tokio fs为了那个原因 这是代码 Parts of the code were omitted see the pl
  • 将文件读入结构体 (C++)

    我正在尝试从二进制文件读取数据并将其放入结构中 的前几个字节data bin are 03 56 04 FF FF FF 我的实现是 include
  • .NET MAUI 中的 Android 深度链接(意图)支持

    我目前正在尝试向使用 NET MAUI 编写的 Android 应用程序添加深度链接支持 通过 Intents 我添加了一个activityXML 元素下应用我的 AndroidManifest xml 中的元素
  • 使用 NGINX 将 Gatsby 托管在子目录上

    我如何使用 nginx 将 gatsby js 托管在子目录上 我已经尝试过使用proxy pass http 127 0 0 1 8000 with gatsby develop但我遇到了 Socket io 的问题 有谁知道如何在我尝试
  • GetMessage 超时

    我有一个第二个线程调用的应用程序GetMessage 循环中 在某个时刻 第一个线程意识到用户想要退出应用程序并通知第二个线程它应该终止 由于第二个线程被卡住GetMessage 程序永远不会退出 有没有办法让消息超时等待 我也对其他想法持
  • 使用 OrderBy、ThenBy 排序

    我正在尝试根据先前排序的列对表的几列进行排序 它对于前两列效果很好 但是 一旦我对第三列进行排序 第二列就会失去排序 据我目前所知 我的 foreach 循环一定有问题 这是我的排序代码 public List inhaltSortiere
  • gif动画完成时触发javascript

    我有一个网站 上面有一个不重复的 gif 所以看起来正在加载 我想要一个 javascript 脚本来检测 gif 动画何时完成 然后重定向到另一个站点 这可能吗 我不能只将其设置为 5 秒 因为不同的计算机 平板电脑在不同的时间加载它 如
  • [React]将异步数据获取到组件中的不同方式

    我对 React 世界有点陌生 最近当我开始在组件内编写 Ajax 内容时 我感到很困惑 据我所知 这里有两种渲染方式异步将数据放入组件中 如下所示 1st way class MyComponent extends React Compo
  • 使用 free() 时出现分段错误

    此代码会导致分段错误 int main char p char a 50 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa p char malloc 50 sizeof char if p
  • “[文章] 使用 WSO2 API Manager 启用 API 货币化”相关问题

    我尝试根据文章将 POC WSO2 APIM 与计费引擎集成1 http wso2 com library articles 2016 07 article enabling monetization of apis with wso2 a
  • 将值和数字格式从一个范围复制到另一个范围?

    下面的行没有出现错误 我将值从一个范围复制到另一个范围 ThisWorkbook Sheets Output Range F lastRowOutput 1 M lastRowOutput 1 Value projectWb Sheets
  • 使用 Zoom SDK 最小化视频通话和共享视图

    我正在尝试将 Zoom SDK 会议集成到 Android 应用程序中 我已经努力使用自定义会议用户界面并学习如何使用 Zoom 的视频视图 称为MobileRTCVideoView 这是我想创建的界面 我尝试过的 研究了 Zoom 的示例
  • 在本机 C++ 中锁定 GDI+ 位图?

    我可以找到很多关于如何在托管 c 中执行此操作的示例 但没有找到非托管的示例 我希望尽可能高效地获取所有像素数据 但我需要更多有关 scan0 内容的一些信息 以便我可以正确地迭代像素数据并从中获取每个 rgba 值 现在我有这个 Bitm
  • lxml 在 Solaris 10 上构建

    请您就 python 2 6 6 和 lxml Solaris 10 构建问题提供帮助和建议吗 安装说明 www sunfreeware com download html 直接链接到文件 http www sunfreeware com
  • CSS 动画 onclick 和反转 next onclick

    我正在使用精灵表和关键帧在单击按钮时为按钮上的图像设置动画 当单击按钮时 我希望帧沿一个方向运行 并将按钮保留在精灵表中的最后一个图像上 当再次单击按钮时 我希望相同的帧向后运行 将按钮保留在精灵表中的第一个图像上精灵表 我目前正在尝试使用