继承Jquery的方法--tab滑动动画切换

前言

最近产品有个需求,要做个tab标签切换,这最基本的样式当然不在话下,但作为极客的我总要与众不同吧!于是大开脑洞,也就想出了个tab切换时候加个滑动动画(表笑我,谁让咱没达到UI交互设计师的高度呢),再然后正好想起本站曾经有个效果(传送门),于是乎找了这个效果demo给产品看,产品欣然同意了。

详细内容请参见原文:http://www.gbtags.com/gb/share/5781.htm

那么,问题又来了,之前的这个效果有几个弊端,也是我和产品认为不好的:

不同tab页的内容高度不同,差距可能还比较大,不能用一个统一的固定高度来搞

例如从tab1跳到tab3这种跨项的情况,原则上是不能让用户在动画过程中看到tab2内容的(不要问为什么,这就是极客精神),如果从tab1跳到tab5,中间跨了3项,这体验总感觉略low啊

因此,轮子还得造!

需求功能

不固定高度。高度不同的tab页直接也可以自适应切换

跨项无缝切换。跨项切换时候不会看到中间项内容

tab标题也增加滑动动画

思路分析

所谓不固定高度,那么只有在即将动画时拿到切换前和切换后两个tab页中较大的高度进行设置

跨项不显示中间项的话,那么只有“造假”了:把切换前和切换后的两个tab页克隆下来构造个动画区,放到最前面,走个过场动画,同时隐藏掉原来真实tab页,结束后remove掉动画区,同时将真实tab页展现(本人觉得这是个简单的笨办法,如果大神有更合适的思路可以留言讨论)

代码赏析

以下是jquery插件的原代码,注释可以说的手把手的教学!每一步都写了注释,重点就是看“tab页动画部分”的注释

$.fn.extend({

tab: function (index) {//index:初始化后第几个tab显示,默认0

详细内容请参见原文:http://www.gbtags.com/gb/share/5781.htm

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,087评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,194评论 4 61
  • 离家前一天晚上躺在床上,听见隔壁隐隐有电视机的闷响和小孩儿的笑闹声,这时就觉得很安心,以前没发现,寻常人家安和宁静...
    丁千阅读 1,703评论 0 0
  • 郭相麟 亲临一慈善公益现场,感受到什么叫慈善!慈是一种同理心,一种发自内心的关爱,一种力所能及的付出,善是希望别...
    郭相麟阅读 1,878评论 0 0
  • 2017.10.25/猫咪 看着两妞相拥而眠的睡姿,你怎么都想像不到她们俩白天常常相杀相爱的情景。 到现在我也想不...
    黄裕棠老师弟子吴溧蕙阅读 3,157评论 12 9