target/classes/assets/common/module/dropdown/dropdown.js

(开头部分) 2KB

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

/**
 * 下拉菜单
 *
 * @author  王帆
 * @version  1.2
 * @date 2018-12-10
 */
layui.define(['jquery'], function (exports) {
    var $ = layui.jquery;
    var noAnchorClass = 'dropdown-no-anchor';  // 不要小三角
    var hasShadeClass = 'dropdown-has-shade';  // 加遮罩颜色
    var triggerOpenClass = 'dropdown-open';  // 打开
    var dropdownOpenClass = 'dropdown-opened';  // 打开
    var dropdownDisableClass = 'dropdown-disabled';  // 禁用
    var htmlNoScrollClass = 'dropdown-no-scroll';  // 禁止滚动
    var shadeClass = 'dropdown-menu-shade';  // 遮罩层
    var anchorClass = 'dropdown-anchor';  // 小三角
    var fixedClass = 'fixed';

    var dropdown = {
        ANCHOR_POSITIONS: ['top-left', 'top-center', 'top-right', 'right-top', 'right-center', 'right-bottom', 'bottom-left', 'bottom-center', 'bottom-right', 'left-top', 'left-center', 'left-bottom'],
        defaultPosition: 'top-left',
        init: function () {
            $('body').off('click.dropdown').on('click.dropdown', '[data-dropdown]', function (event) {
                if (event !== void 0) {
                    event.preventDefault();
                    event.stopPropagation();
                }
                dropdown.showDropdown(event.currentTarget);
            });
            $('html').off('click.dropdown').on('click.dropdown', function () {
                dropdown.hideAll();
            });
            /*$(window).off('resize.dropdown').on('resize.dropdown', function () {
                dropdown.hideAll();
            });*/
        },
        showDropdown: function (target) {
            var $trigger = $(target);
            var $dropdown = $($trigger.data('dropdown'));
            if ($dropdown.length < 1) {
                return console.error('Could not find dropdown: ' + $trigger.data('dropdown'));
            }
            var isOpen = $trigger.hasClass(triggerOpenClass);  // 是否已展开
            var isDisabled = $trigger.hasClass(dropdownDisableClass);  // 是否禁用
            // dropdown.hideAll($trigger.data('dropdown'));
            dropdown.hideAll();
            if (isOpen || isDisabled) {
                return false;
            }

            // 显示遮罩层
            var isFixed = $dropdown.hasClass(fixedClass);
            if (isFixed) {
                $('html').addClass(htmlNoScrollClass);
                var hasShade = ' no-shade';
                if ($dropdown.hasClass(hasShadeClass)) {
                    hasShade = '';
                }
                $dropdown.after('<div class="' + shadeClass + hasShade + '"></div>');

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

AI 解读 AI

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

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