3D滚动下拉菜单-简直不要太任性
预览 先看看最终效果
简介 由来
最初看到这个是在14年5月,猛戳这里:妙味官网
,觉得非常炫。想要做出来,所以就开始学习web。
那时候是做c/s的,也因为这个走上了b/s之路,(゚Д゚≡゚Д゚) 现在前后台都要写了。
前几天又来试试,发现自己能大概实现了( ゚∀゚),好屌。
因为平时主要是实现功能,所以可能一些代码习惯,实现方式不太好,希望指出来。
前提 需要了解的东西
1. css3基础
我也是一个菜鸟,会的不多( ̄∇ ̄),就不在这里show无知了,主要涉及到:transform
,transform-style(IE不支持?)
可以参见:Transform-style和Perspective属性
2. 了解缓动
大家玩一玩这个菜单,会看到它不是匀速展开的,而是在展开动作的末尾“抖”一下
这个涉及到算法...我个人仅作了解(就是只知道这个东西,怎么实现不知道)
各种缓动效果和更详细的说明:JavaScript Tween算法及缓动效果
3. 利用jquery来实现缓动
jquery有animate方法,可以非常方便的实现动画,原理是实时改变节点的样式
。
附:使用jquery的animate实现的动画,节点最好不要设置css3的transition,有冲突
我看到jquery的动画也不是匀速改变,于是查了一下资料,确实也有这个缓动算法,默认只有两种:linear匀速
,swing慢-快-慢
,添加扩展方法来实现(如2中链接缓动实例的 easeOutBack):慢-中-快-太快导致超过了-返回到正确的位置
,专业术语为:超过范围的三次方缓动
:
jQuery.extend(jQuery.easing, {
easeOutBack: function (x, t, b, c, d, s) {
if (s == undefined) s = 1.70158;
return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
}
})
jQuery的animate动画,我以前不知道在哪里看到的:只能实现可以用数字表示的动画。也就是说css3的transform是不行的。但是animate有一种重载!
常用的方式
:
$("html,body").animate({ scrollTop: "0px" }, 1000);
另一种重载
:
$({ num: 32 }).animate({ num: 64 }, {
duration:1000,
step: function () {
console.log("当前的num是:" + this.num);
},
complete: function () {
console.log("结束了,num是:" + this.num);
}
});
哈哈,看到这个大家就有思路了吧:
根据要改变的样式定义一个对象,利用animate改变这个对象,监听step和complete事件来拼接新的样式赋值给你要执行动画的元素!
具体实现 最终代码
在妙味官网上面看了很久都不知道从何看起,把这个做出来之后看到博友 吕大豹 将妙味的代码扒出来了,艹,还是没看懂。
以下是3D下拉菜单的代码:
下面是厚颜无耻的求赞时间
您有没有对这篇文章感兴趣呢?
还好啦 WQNMLGB
.
3D滚动下拉菜单-简直不要太任性的更多相关文章
- CSS3 3D旋转下拉菜单--兼容性不太好
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- CSS3 3D旋转下拉菜单
在线演示 本地下载
- Bootstrap 下拉菜单和滚动监听插件
一.下拉菜单 常规使用中,和组件方法一样,代码如下: //声明式用法 <div class="dropdown"> <button class="btn ...
- 第二百四十四节,Bootstrap下拉菜单和滚动监听插件
Bootstrap下拉菜单和滚动监听插件 学习要点: 1.下拉菜单 2.滚动监听 本节课我们主要学习一下 Bootstrap 中的下拉菜单插件,这个插件在以组件的形式我们 已经学习过,那么现在来看看怎 ...
- flash滚动图片遮住二级下拉菜单解决方法
如上图所示,在进行排版时,如果不注意会遇到二级下拉菜单被下边的img图片遮住.此种情况在ie7 8 中出现. 解决方法:给二级下拉菜单添加z-index:9999;position:relative; ...
- OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)
20150706 Created By BaoXinjian
- 24个 HTML5 & CSS3 下拉菜单效果及制作教程
下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...
- EasyDropDown – 很棒的下拉菜单,含精美主题
EasyDropDown 是一个 jQuery 插件,你可以毫不费力地将简陋的 Select 元素设置为可定制风格的下拉菜单,用于表单或者一般的导航.和著名的下拉插件 Chosen 很像,但是具有自己 ...
- bootstrap日期控件在火狐下的模态框中选择时间下拉菜单无效的解决办法
今天收到程序组提交的一个兼容BUG,在火狐中使用模态框加载日期控件时选择时间下拉菜单没有效果(不能点击),而在谷歌中却是好的, 排错思路:1,在当前页面主层放置一个时间控件,测试通过 2,在ajax加 ...
随机推荐
- 无法识别的属性“targetFramework
出现这个错误的原因是NET Framework 版本版本号不对应,iis和网站使用的一致版本就可以了.
- java21
1:字符流(掌握) (1)字节流操作中文数据不是特别的方便,所以就出现了转换流. 转换流的作用就是把字节流转换字符流来使用. (2)转换流其实是一个字符流 字符流 = 字节流 + 编码表 (3)编码表 ...
- poj2492_A Bug's Life_并查集
A Bug's Life Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 34947 Accepted: 11459 D ...
- MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法
前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的 ...
- whose view is not in the window hierarchy
参考:http://www.jianshu.com/p/9e90cb866fdf 在做界面跳转的时候,我们经常会用到这两个函数 func dismissViewControllerAnimated(f ...
- jQuery Mobile学习笔记
1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ...
- 安装numpy库
1.先安装pip: 下载地址:http://pypi.python.org/pypi/pip#downloads 下载pip-8.1.2.tar.gz(md5,pgp)完成之后,解压到一个文件夹,cm ...
- 【笔记】cookies管理工具类
package com.ulearning.ulms.util; import java.io.UnsupportedEncodingException; import java.net.URLDec ...
- Mybatis关联查询(嵌套查询)
上一篇文章介绍了基于Mybatis对数据库的增.删.改.查.这一篇介绍下关联查询(join query). 三张表:user article blog 表的存储sql文件: /* Navicat My ...
- PCM数据格式,多少字节算一帧
转自:http://blog.chinaunix.net/uid-9185047-id-3327302.html Somehow i remember that normally 2048 sampl ...