• 商品导航菜单


    jQuery/CSS3类似阿里巴巴的商品导航菜单实现教程

     

    有两天没发表文章了,今天来说说利用jQuery和CSS3制作一款类似阿里巴巴左侧商品菜单导航,这款菜单看起来非常大气,可以展示非常多的产品类目,如果你在设计电子商务网站,不妨可以拿来参考,一下是效果图:

    我们也可以到这里来查看这款菜单的DEMO演示

    接下来还是分析一下源代码,源码由HTML、CSS和jQuery组成,先来看看HTML,东西很多,但结构非常简单:

     View Code

    代码太长了,折叠了一下,有兴趣可以展开来看。

    然后是CSS代码:

     View Code

    其中,利用border-radius实现了圆角,利用box-shadow实现了边框阴影。

    由于没有绚丽的外观,所以CSS代码也并不复杂,都是一些普通的CSS代码。

    最主要的代码就是jQuery了,它实现了子菜单的展开与收起,起着控制的作用。

    复制代码
    (function(a) {
        a.fn.hoverDelay = function(c, f, g, b) {
            var g = g || 200,
            b = b || 200,
            f = f || c;
            var e = [],
            d = [];
            return this.each(function(h) {
                a(this).mouseenter(function() {
                    var i = this;
                    clearTimeout(d[h]);
                    e[h] = setTimeout(function() {
                        c.apply(i)
                    },
                    g)
                }).mouseleave(function() {
                    var i = this;
                    clearTimeout(e[h]);
                    d[h] = setTimeout(function() {
                        f.apply(i)
                    },
                    b)
                })
            })
        }
    })(jQuery);
    $(function() {
    $(".sidebar").hoverDelay(function() {
            $("#sidebar_box").show();
            $(".sidebar_top s").addClass("s_down");
        },
        function() {
            $("#sidebar_box").hide();
            $(".sidebar_top s").removeClass("s_down");
        });
        $(".sidebar_item dd").hoverDelay(function() {
            $(this).find("h3").addClass("sidebar_focus");
            $(this).find(".sidebar_popup").show(0);
        },
        function() {
            $(this).find("h3").removeClass("sidebar_focus");
            $(this).find(".sidebar_popup").hide(0);
        });
    });
    复制代码

    这里主要用jQuery控制了鼠标滑过菜单项时的延迟处理,这样你滑杆菜单项要停顿一下子菜单才能展开,鼠标移开是也要停顿一下子菜单才能收起,这样避免重复性的菜单展开折叠,影响用户体验。

    处理延时功能主要是hoverDelay发放,其实实现也是比较简单的。

    最后,把源代码分享一下,下载地址>>

  • 相关阅读:
    python之生成器
    Python 类(一)
    Python OOP(面向对象编程)
    python 静态方法、类方法(二)
    记一个有想法没能力实现的产品形态——实时公交
    ubuntu12.04离线安装libjpeg62-dev
    linux内核container_of宏定义分析
    signal函数理解或者void (*signal(int signum,void(*handler)(int)))(int)理解
    HttpServlet cannot be resolved to a type解决方法
    ubuntu12.04不能记住上次编辑位置的解决方案
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3731445.html
Copyright © 2020-2023  润新知