通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)


Posted in Javascript onJuly 13, 2013

我个人表示非常喜欢微软新一代的产品,先不管它产品的成熟与否,但是它带来的是全新的产品。所谓全新,是指在用户体验上,苹果这些年的成功使得所有产品都在模仿它的界面,包括安卓在内,不知道大家的感觉如何,反正我是对这些圆角矩形产生了审美疲劳(苹果以及安卓的粉丝勿喷,这里仅仅是从界面上评价,事实上从整体上来说,微软还是有差距的),当年wp的推出让我眼前一亮,马上喜欢上了Metro风格的产品,直至今天wp8以及win8开始越来越成熟。

写的不好,欢迎各位看官指正批评,不欢迎无故猛喷。大神请绕道。

废话少说,进入正题。基本思想是:定义一个外层div,固定高度(例如本例中的180px)并设置属性overflow:hidden(隐藏超出边框的部分),然后在这个div里面定义一个内层div,并设置属性position:relative(采用相对布局)。在这个内层div里面,我们定义一张图片,注意要设置它的高度跟外层div高度一样(如本例中的180px),再定义一个div放文字,该div的高度也和外层div高度一样(如本例中的180px,如果你给了一个padding,则高度相应减小,以达到整个div是180px的高度)。布局代码如下所示
html:

<div id="outside">
    <div id="inside">
        <img width="180px" height="180px" src="http://xxxxxxxxx图片地址" />
        <div id="text">
            <span>通过JQuery实现win8一样酷炫的动态磁贴效果</span>
            <p>林宇</p>
            <p>我个人表示非常喜欢微软新一代的产品……</p>
        </div>
    </div>
</div>

css:
#outside
{
    height:180px;
    overflow:hidden;
}
#inside
{
    position:relative;
}
#text
{
    width:160px;
    height:160px;
    background:#0000ff;
    padding:10px;
    color:#fff;
}

剩下来的就是JQuery的事情了。首先先理解一下这个“动态磁贴”的动作:一开始显示一张图片,然后向上滑动显示文字,停留一会,再向下滑动显示图片,如此循环。我们先定义一个函数:
function go(id, d1, px1, val1, d2, px2, val2) {
    $(id).delay(d1);
    $(id).animate({ bottom: px1 }, val1, function () {
        $(id).delay(d2);
        $(id).animate({ bottom: px2 }, val2);
    });
}

这里有7个参数,id是内层div也就是要滑动的div的id,d1是内层div滑上去以后停留的时间,px1是内层div要向上滑动的相对位置,默认当前位置为0px,val1是内层div的完成向上滑动动作所需要的时间,d2是向下滑动div后停留的时间,px2是向下滑动的相对位置,这里依然是以原来的位置为0px,val2是完成向下滑动所需的时间。

然后我们在页面加载完成的时候设置一个定时器,来执行我们定义的go函数:

$(function () {
    timer1 = setInterval(function () {
        go("#inside", 1500, "180px", 1200, 1000, "0px", 2000);
    }, 3000);
});

这里的参数可以根据需要进行修改,这里我们让定时器每3秒执行一次go函数。
源码基本都贴出来了,有需要源文件的童鞋可以猛击这里下载
Javascript 相关文章推荐
JavaScript asp.net 获取当前超链接中的文本
Apr 14 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
Javascript单元测试框架QUnitjs详细介绍
May 08 Javascript
总结JavaScript三种数据存储方式之间的区别
May 03 Javascript
JS加载iFrame出现空白问题的解决办法
May 13 Javascript
js实现简单的计算器功能
Jan 16 Javascript
seajs中模块依赖的加载处理实例分析
Oct 10 Javascript
mpvue将vue项目转换为小程序
Sep 30 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
Feb 21 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 #Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 #Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 #Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 #Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
Jul 12 #Javascript
jquery 滚动条事件简单实例
Jul 12 #Javascript
简约JS日历控件 实例代码
Jul 12 #Javascript
You might like
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
需要注意的几个PHP漏洞小结
2012/02/05 PHP
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php操作mysql数据库的基本类代码
2014/02/25 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
python实现巡检系统(solaris)示例
2014/04/02 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
Python 3.7新功能之dataclass装饰器详解
2018/04/21 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
电台编导求职信
2014/05/06 职场文书
毕业生找工作自荐书
2014/06/30 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
收费员岗位职责
2015/02/14 职场文书
导游词之长城八达岭
2019/09/24 职场文书