zoukankan      html  css  js  c++  java
  • 自己写的一个Js小插件

    这是效果图。上面一个过滤标签。下面弹出框,选择日,周,月。我的用途主要是报表查询的时候根据这3种类型来查询数据用的。

    这里分享下代码。


    Js代码

    (function ($) {
        $.extend($.fn, {
            DtFilter: function (setting) {
                var container = this.html('<span type="text" class="filterDiv"><i class="fa fa-filter"></i></span><div class="filterParamDiv"><a href="javascript:void(0);" class="day filterActive">日</a><a href="javascript:void(0);" class="week">周</a><a href="javascript:void(0);" class="month">月</a></div>');
    
                container.find(".filterDiv,.filterParamDiv").mouseover(function () {
                    container.find(".filterParamDiv").show();
                });
    
                container.find(".filterDiv,.filterParamDiv").mouseout(function () {
                    container.find(".filterParamDiv").hide();
                });
    
                var ps = $.extend({
                    day: function () { },
                    week: function () { },
                    month: function () { }
                }, setting);
    
                var fil = {
                    day: function (e) {
                        ps.day(e);
    
                        container.find(".week").removeClass("filterActive");
                        container.find(".month").removeClass("filterActive");
                        container.find(".day").addClass("filterActive");
                    },
                    week: function (e) {
                        ps.week(e);
    
                        container.find(".week").addClass("filterActive");
                        container.find(".month").removeClass("filterActive");
                        container.find(".day").removeClass("filterActive");
                    },
                    month: function (e) {
                        ps.month(e);
    
                        container.find(".week").removeClass("filterActive");
                        container.find(".month").addClass("filterActive");
                        container.find(".day").removeClass("filterActive");
                    }
                };
                container.find('.day').bind('click', function (e) {
                    fil.day(e);
                });
                container.find('.week').bind('click', function (e) {
                    fil.week(e);
                });
                container.find('.month').bind('click', function (e) {
                    fil.month(e);
                });
                return container;
            }
        });
    })(jQuery);

    这里i标签fa fa-filter样式不是bootstrap里面的,如果有需要用的,可以修改成bootstrap里面的。


    Css样式

    .filtercontainer{
                position:relative;
            }
            .filterDiv{
                font-size:24px!important;
                padding-left:5px;
                padding-right:5px;
            }
            .filterDiv > i{
                font-size:24px;
            }
            .filterParamDiv{
                position:absolute;
                left:-5px;
                top:30px;
                z-index:999!important;
                border:1px solid #808080;
                width:42px;
                background:#808080;
                opacity:0.7;
                color:#fff;
                height:122px;
                display:none;
                border-radius:5px;
            }
            .filterParamDiv > a{
                display:block;
                font-size:13px;
                font-family:宋体;
                width:30px;
                height:30px;
                text-align:center;
                vertical-align:middle;
                border:1px solid #fff;
                border-radius:20px;
                padding-top:5px;
                color:#fff;
                margin-left:5px;
                margin-top:8px;
            }
            .filterActive{
                color:#fff;
                border:1px solid red!important;
                background:red;
            }
            .filterParamDiv > a:visited{
                color:#fff;
                border:1px solid red;
                background:red;
            }
            .filterParamDiv > a:hover{
                color:#fff;
                border:1px solid red;
                background:red;
            }

    具体兼容性啥的我也不知道,我就在Chrome上面用的。

    调用方法:

    首先引用Js和Css,然后在Div上面添加Id="testfilter"

    $("#testfilter").DtFilter({
                    day: function (e) {
                        //点击天
                    },
                    week: function (e) {
                        //点击周
                    },
                    month: function (e) {
                        //点击月
                    }
                });

    我是个做.NET后端的,前端不行,如果有问题,请指教,我也在学习中。

  • 相关阅读:
    python 小爬虫
    动态规划,网易秋招
    leetcode 3
    leetcode 27 水
    leetcode 21 list merge
    leetcode 15 3sum & leetcode 18 4sum
    leetcode 389 map iterator 的使用
    [转]使用flask实现mock server
    python __str__repr__ 区别
    Robot Framework 源码阅读 day2 TestSuitBuilder
  • 原文地址:https://www.cnblogs.com/xiaoquangege/p/5951803.html
Copyright © 2011-2022 走看看