css3实战版的点击列表项产生水波纹动画

1、html+js:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <link rel="stylesheet" href="./css/reset.css"/>
    <link rel="stylesheet" href="./css/animation.css"/>
    <script type="text/javascript" src="./js/jquery-1.10.2.min.js"></script>
    <title>animation-css3动画</title>
</head>
<body>
<ul class="clear">
    <li><span class="circle"></span><a href="#">Button</a></li>
    <li><span class="circle"></span><a href="#">Elements</a></li>
    <li><span class="circle"></span><a href="#">Forms</a></li>
    <li><span class="circle"></span><a href="#">Charts</a></li>
</ul>
</body>
<script type="text/javascript">
;(function(){
    var items = document.getElementsByTagName(‘li‘);
    for(var i = 0; i < items.length; i++){
        items[i].onclick = function(){
//            alert($(this));
            this.getElementsByTagName(‘span‘)[0].style.animation = ‘circle-opacity 0.5s linear 0s 1‘;
            this.getElementsByTagName(‘span‘)[0].style.webkitAnimation = ‘circle-opacity 0.5s linear 0s 1‘;
            this.getElementsByTagName(‘span‘)[0].style.animationFillMode = ‘forwards‘;
            $(this).siblings().children(‘a‘).css(‘color‘,‘#333‘);
            $(this).children(‘a‘).css(‘color‘,‘ #2196f3‘);
            clearAnimation(this);

//alert(this.getElementsByTagName(‘span‘)[0].getAttribute(‘class‘));//弹出circle证明获取到了子元素span
        }
    }
    function clearAnimation(self){
        var sid = window.setInterval(function(){
            self.getElementsByTagName(‘span‘)[0].style.animation = ‘‘;
            self.getElementsByTagName(‘span‘)[0].style.webkitAnimation = ‘‘;
            self.getElementsByTagName(‘span‘)[0].style.animationFillMode = ‘‘;
            sid = window.clearInterval(sid);
        },500);

}
})(window);
</script>
</html>

2、css:

ul{width: 300px;border: red;}
ul li{width: 300px;height: 70px;line-height: 70px;background: #fff;text-align: center;cursor: pointer;overflow: hidden;}
ul li a{font-weight: 900;}
ul li:hover a{
    color: #2196f3!important;
    /*animation: circle-opacity 0.5s linear 0s 1;*/
    /*-webkit-animation-fill-mode:forwards;让动画停在最后是这个属性,*/
    /*animation-fill-mode:forwards;*/
}
ul li a{position: relative;left: -50px;color: #333;top: -30px;}
.circle{background: transparent;border-radius: 50%;width: 70px;height: 70px;display: inline-block;margin: 0 auto;}

@keyframes circle-opacity{
    0% {
        background: rgba(192,225,250,0);
    }
    50% {
        transform:scale(4);
        background: rgba(192,225,250,1);
    }
    100% {
        transform:scale(16);
        background: rgba(192,225,250,0);
    }
}
@-webkit-keyframes circle-opacity{
    0% {
        background: rgba(192,225,250,0);
    }
    50% {
        transform:scale(4);
        background: rgba(192,225,250,1);
    }
    100% {
        transform:scale(16);
        background: rgba(192,225,250,0);
    }
}

时间: 2024-12-25 08:26:43

css3实战版的点击列表项产生水波纹动画的相关文章

css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版

1.html: <!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <link rel="stylesheet" href="./css/reset.css"/>    <link rel="stylesheet" href="./css/animat

自定义ListView适配器Adapter引用布局文件的情况下实现点击列表项时背景颜色为灰色

listview控件设置适配器的时候,如果使用自定义的adapter,比如MyArrayAdapter extends ArrayAdapter<String> 如果listitem布局文件不做任何处理的话,点击列表项的时候不会出现背景色灰色的现象. 实现思路是:在listitem布局文件中为该布局文件中的父控件:LinearLayout,设置android:background="@drawable/listitemclickseletor" 其中listitemclic

开源学习--SlideExpandableListView中的列表项动画实现框架分析

前面的话 开源项目Android-SlideExpandableListView是一个简单的介绍列表项动画展示的小型项目,分析这个项目可以对自定义框架及列表类动画实现有个比较清晰的认识,工作中中时常根据需求扩展定义自己的适配器,虽然具体需求不同,但架构类似,本文把最近关于该开源项目的研究心得整理分享,共同学习~ 项目简介 github地址https://github.com/tjerkw/Android-SlideExpandableListView 这是个入门级的列表项动画展示框架,实现效果如

Android疑惑篇------------含有button按钮的ListView中,列表项无法获取焦点的问题

问题描述: 有过在ListView的列表项中添加按钮的朋友对这个问题一定不会陌生,我们的Demo在运行时,会出现这样的情况----------可以获取到列表项中的按钮点击事件,但是当我们想要获取整个列表项的点击事件时,就会发现此时点击列表项是没有任何反应的.为什么呢? 原因就是当在ListView中加入Button这类的有 “点击” 事件的widget时,ListView的itemclick事件将会被其它widget的click事件屏蔽,从而无法触发. 我们先来看一下列表项的XML文件 <?xm

android: Android水波纹点击效果

Android API 21及以上新增了ripple标签用来实现水波纹的效果.我们可以通过设置ripple背景来实现一些View点击效果. 该水波纹效果有两种:一种是有界的(点击后类似于一个矩形向四周扩展),一种是无界的(点击后类似于一个圆形向四周扩展). 系统上的实现效果如下: 有界效果:在API 21以上使用,才有波纹效果:API 21以下使用只有变色效果,没有波纹效果. android:background="?android:attr/selectableItemBackground&q

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方(类似微信的评论)

Android点击列表后弹出输入框,所点击项自动滚动到输入框上方 使用微信的朋友圈会发现,点击某一条评论后输入框会弹出来,然后所点击的那一项会自动地滚动到输入框上方的位置,这样如果开始所点击的评论在屏幕很下方的话,就不会被输入框遮住,虽然微信这一点在我的MX2频繁点几次后滚动的位置就完全错误了,但据说在有些机型上效果还不错,还有其他地方可能会有类似的需求,比如登录时软键盘可能会把登录按钮遮住. 要实现这个功能需要注意的地方主要有两点: 什么时候进行滚动操作,以及有可能还需要在输入框消失时回滚回去

Android ListView 列表项点击之后,保持背景颜色

项目中突然遇到这样的问题,一些消息类的界面,需要使用listview进行显示,正常的需求是刚开始进入消息显示界面的时候,列表项显示的都是全黑的,接着点击了某一个列表项之后,就要更换成白色,并且保持白色的显示,剩下的仍旧为黑色的,一开始就有点走进了死胡同,使用selector结合shape来定义选中.未选中.点击或者点击之后的背景显示,实例如下: </pre><p></p><pre name="code" class="html&quo

响应式Web设计:HTML5和CSS3实战 第2版 (本&#183;弗莱恩) 中文pdf完整版

本书将当前Web 设计中热门的响应式设计技术与HTML5 和CSS3 结合起来,为读者全面深入地讲解了针对各种屏幕大小设计和开发现代网站的各种技术.书中不仅讨论了媒体查询.弹性布局.响应式图片,更将新的和有用的HTML5 和CSS3 技术一并讲解,是学习新Web 设计技术不可多得的佳作. - 理解响应式设计,以及为何它对现代Web设计如此重要 - 清晰.高效地编写富有语义的HTML5标记 - 使用CSS3媒体查询基于设备应用不同的样式,了解媒体查询的*进展 - 根据不同的屏幕大小.分辨率和使用环

Css3之基础-10 Css列表(列表项标志 、列表项图像、列表项位置、列表属性)

一.CSS 列表样式 列表项标志 list-style-type - list-style-type 属性用于控制列表中列表项标志的样式 - 无序列表: 出现在各列表项旁边的圆点 - 有序列表: 可能是字母.数字或另外某种计数体系中的一个符号 - 无序列表取值 - none    : 无标记 - disc    : 实心圆,为默认值 - circle  : 空心圆 - square  : 实心方块 - 有序列表取值 - none    : 无标记 - decimal : 无标记 - lower-