css3气泡 css3关键帧动画创建的动态通知气泡


Posted in HTML / CSS onFebruary 26, 2013

最近在一个Web项目上工作时,客户不得不强调以某种方式动态通知泡沫。基本上,每一次的通知值的变化,需要的视觉效果,以获得用户的注意力。所以我做了,使用CSS3关键帧动画。代码总体比较简单,欢迎任何形式的转载,但务必说明出处

css3气泡 css3关键帧动画创建的动态通知气泡

在线演示点击下面的两个按钮 通知气泡会随时变化

的HTML

在这个例子中,我们将使用导航常用的标记结构

复制代码
代码如下:

<ul class="menu">
<li><a href="">首页</a></li>
<li><a href="">关于我们</a></li>
<li>
<a href="">
最新动态
<span class="bubble">9</span>
</a>
</li>
<li><a href="">个人中心</a></li>
</ul>

重点是上面的<span class="bubble">,这是将动画的通知气泡

The CSS

 .animating 类 代表了一个CSS3的动画,我们使用贝塞尔曲线.来创建的,如果你是第一个接触贝塞尔曲线,可以打开学习一下

复制代码
代码如下:

.animating{
animation: animate 1s cubic-bezier(0,1,1,0);
}
@keyframes animate{
from {
transform: scale(1);
}
to {
transform: scale(1.7);
}
}

全部的 css代码
复制代码
代码如下:

.animating{
-webkit-animation: animate 1s cubic-bezier(0,1,1,0);
-moz-animation: animate 1s cubic-bezier(0,1,1,0);
-ms-animation: animate 1s cubic-bezier(0,1,1,0);
-o-animation: animate 1s cubic-bezier(0,1,1,0);
animation: animate 1s cubic-bezier(0,1,1,0);
}
@-webkit-keyframes animate{
from {
-webkit-transform: scale(1);
}
to {
-webkit-transform: scale(1.7);
}
}

@-moz-keyframes animate{
from {
-moz-transform: scale(1);
}
to {
-moz-transform: scale(1.7);
}
}
@-ms-keyframes animate{
from {
-ms-transform: scale(1);
}
to {
-ms-transform: scale(1.7);
}
}
@-o-keyframes animate{
from {
-o-transform: scale(1);
}
to {
-o-transform: scale(1.7);
}
}
@keyframes animate{
from {
transform: scale(1);
}
to {
transform: scale(1.7);
}
}
/* ------------------------------------------- */
body{
text-align: center;
}
.menu{
margin: 50px auto 20px;
width: 800px;
padding: 0;
list-style: none;
}
.menu {
border: 1px solid #111;
background-color: #222;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
-moz-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
-webkit-box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
box-shadow: 0 1px 1px #777, 0 1px 0 #666 inset;
}
.menu:before,
.menu:after {
content: "";
display: table;
}
.menu:after {
clear: both;
}
.menu {
zoom:1;
}
.menu li {
float: left;
position: relative;
border-right: 1px solid #222;
-moz-box-shadow: 1px 0 0 #444;
-webkit-box-shadow: 1px 0 0 #444;
box-shadow: 1px 0 0 #444;
}
.menu a {
float: left;
padding: 12px 30px;
color: #bbb;
text-transform: uppercase;
font: bold 12px Arial, Helvetica;
text-decoration: none;
}
.menu a:hover {
color: #fafafa;
}
.menu li:first-child a
{
-moz-border-radius: 5px 0 0 5px;
-webkit-border-radius: 5px 0 0 5px;
border-radius: 5px 0 0 5px;
}
.menu .bubble
{
background: #e02424;
position: absolute;
right: 5px;
top: -5px;
padding: 2px 6px;
color: #fff;
font: bold .9em Tahoma, Arial, Helvetica;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
/* Demo page only */
#about{
color: #999;
text-align: center;
font: 0.9em Arial, Helvetica;
margin: 50px 0;
}
#about a{
color: #777;
}

 

The jQuery

它不是那么容易,因为你可能会认为每次重新启动的动画时值的变化,幸好,在这个例子中,我选择的方法包括使用JavaScript的setTimeout()的方法。所以,每次通知值变化,.第二次开始的时候animating类被删除

复制代码
代码如下:

var counterValue = parseInt($('.bubble').html()); // 获取当前变化的值
function removeAnimation(){
setTimeout(function() {
$('.bubble').removeClass('animating')
}, 1000);
}
$('#decrease').on('click',function(){
counterValue--; // 递增
$('.bubble').html(counterValue).addClass('animating'); // 动态变化的动画
removeAnimation(); // 删除css类的动画
})
$('#increase').on('click',function(){
counterValue++; // 递减
$('.bubble').html(counterValue).addClass('animating'); // 动态变化的动画
removeAnimation(); // 删除css类动画
HTML / CSS 相关文章推荐
CSS Grid布局教程之什么是网格布局
Dec 30 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
Mar 26 HTML / CSS
html5组织文档结构_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
Apr 26 HTML / CSS
IE支持HTML5的解决方法
Oct 20 HTML / CSS
5个你不知道的HTML5的接口介绍
Aug 07 HTML / CSS
Html5 web本地存储实例详解
Jul 28 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
Oct 23 HTML / CSS
HTML5中form如何关闭自动完成功能的方法
Jul 02 HTML / CSS
h5使用canvas画布实现手势解锁
Jan 04 HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 HTML / CSS
css3实现的加载动画效果
Apr 07 HTML / CSS
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
Feb 07 #HTML / CSS
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
Feb 04 #HTML / CSS
8款精美的CSS3表单设计(登录表单/下拉选择/按钮附演示及源码)
Feb 04 #HTML / CSS
css3实现针线缝合效果(图解步骤)
Feb 04 #HTML / CSS
用css3制作纸张效果(外翻卷角)
Feb 01 #HTML / CSS
css3动画事件—webkitAnimationEnd与计时器time事件
Jan 31 #HTML / CSS
CSS3 制作绽放的莲花采用效果叠加实现
Jan 31 #HTML / CSS
You might like
php判断用户是否手机访问代码
2015/06/08 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
javascript URL编码和解码使用说明
2010/04/12 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
学习使用bootstrap3栅格系统
2016/04/12 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
React Native 通告消息竖向轮播组件的封装
2020/08/25 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 流程控制实例代码
2009/09/25 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python的变量与赋值详细分析
2017/11/08 Python
python随机取list中的元素方法
2018/04/08 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
python支持多线程的爬虫实例
2019/12/21 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
秋季运动会稿件
2014/01/30 职场文书
秘书英文求职信
2014/04/16 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
小学新教师个人总结
2015/02/05 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
交流会主持词
2015/07/02 职场文书
2015中学教学工作总结
2015/07/22 职场文书