KingNET.WebUI/Scripts/jquery-smartMenu.js

(开头部分) 8KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/**
* @name 
* @constructor 右键自定义上下文菜单插件
* @grammar $("test").smartMenu(data, options)
* @extends 
* $.smartMenu.hide() 隐藏右键菜单
* $.smartMenu.remove() 移除右键菜单,如果右键的显示的菜单是动态的,在菜单隐藏或是显示之前,一定要执行一下$.smartMenu.remove()方法,移除菜单内容。这样,每次右键的时候,插件根据新的data重建上下文菜单,否则,会直接显示页面上缓存的HTML上下文内容。
* @param {String} data 必须 包含了右键显示的文字内容,以及相关的方法 var data = [[{}, {}, {}], [{}]];
* @param {Object} options
* @param {String} options.name 这个参数会以id名称应用到菜单最外部容器上 创建规则"smartMenu_" + name的id 如果是多个菜单,此参数必须,否则菜单会出现冲突。
* @param {Number} options.offsetX 上下文菜单左上角距离鼠标水平偏移距离
* @param {Number} options.offsetY 上下文菜单左上角距离鼠标垂直偏移距离。
* @param {Number} options.textLimit 上下文菜单项限制显示的文字个数。如果超出会截取,并以…补全,完成文字以title形式显示。
* @param {Function} options.beforeShow   菜单即将显示之前执行的回调函数
* @param {Function} options.afterShow	  菜单显示后执行的回调函数
* @description 以下为smartMenu插件样式、类名的含义与作用
* smart_menu_box  每一级菜单最外部容器,决定了容器的宽度以及层级,div标签
* smart_menu_body  菜单的主体,决定了主体的背景色,边框色以及盒阴影效果,div标签
* smart_menu_ul 菜单列表父容器,ul标签 
* smart_menu_li 每个菜单列表项,li标签
* smart_menu_li_separate	 分隔菜单组分隔线列表项,li标签
* smart_menu_a  菜单列表项主体内容,响应方法,hover效果等,a标签
* smart_menu_triangle 用来表示含多级菜单的三角,i标签
* smart_menu_a_hover	菜单列表项主体内容hover状态样式,用来让多级菜单显示时保持父级菜单项保持hover状态,a标签
* smart_menu_li_hover 菜单列表项经过时添加的类名,用来让子集菜单容器准确定位,li标签
* @example
* var menuData = [
*     [{
*         text: "刷新",
*         func: function () {
*             $('#reload').trigger('click');
*          }
*     }, {
*         text: "关闭",
*         func: function () {
*             $(this).next().trigger('click');
*         }
*     }]
* ];
* $("test").smartMenu(menuData, {})
*/

(function ($) {
    var D = $(document).data("func", {});
    $.smartMenu = $.noop;
    $.fn.smartMenu = function (data, options) {
        var B = $("body"),
            defaults = {
                name: "",
                offsetX: 2,
                offsetY: 2,
                textLimit: 6,
                beforeShow: $.noop,
                afterShow: $.noop
            };
        var params = $.extend(defaults, options || {});

        var htmlCreateMenu = function (datum) {
            var dataMenu = datum || data,
                nameMenu = datum ? Math.random().toString() : params.name,
后面还有 130 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。