1 Star 0 Fork 51

Lypxc/LayUi组件:Dropdown

forked from sakuya/SCUI-DOC 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dropdown.js 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
SC 提交于 2019-01-26 14:55 . FIX
/**
Dropdown
**/
layui.define(['jquery'], function (exports) {
var MOD_NAME = 'dropdown',
CLASS_NAME = '.layui-dropdown',
$ = layui.jquery;
var dropdown = {
"v" : '1.0.0'
};
//渲染
dropdown.render = function(opt){
$(CLASS_NAME).each(function (i, elem) {
var jqelem = $(elem);
var ulBox = jqelem.children('ul');
var timer = '';
ulBox.addClass('layui-anim layui-anim-upbit');
var event = jqelem.hasClass('dropdown-click') ? 'click' : 'mouseenter';
jqelem.on(event, function(e) {
var disabled = jqelem.hasClass('dropdown-disabled');
if(disabled){return false}
clearTimeout(timer);
//FIX 定位
var overHeight = (jqelem.offset().top + jqelem.height() + ulBox.outerHeight() - $(window).scrollTop()) > $(window).height();
if(overHeight){
ulBox.css({"top":"auto","bottom":"100%"});
}else{
ulBox.css({"top":"100%","bottom":"auto"});
}
ulBox.show();
});
if(event == 'mouseenter'){
jqelem.on("mouseleave", function(e) {
timer = setTimeout(function(){
ulBox.hide();
}, 300);
})
}else{
$(document).on("mouseup", function(e) {
var userSet_con = jqelem;
if(!userSet_con.is(e.target) && userSet_con.has(e.target).length === 0){
ulBox.hide()
}
});
}
})
}
//自动完成渲染
dropdown.render();
//输出接口
exports(MOD_NAME, dropdown);
});
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/panxiaochao/layui_component__dropdown.git
git@gitee.com:panxiaochao/layui_component__dropdown.git
panxiaochao
layui_component__dropdown
LayUi组件:Dropdown
master

搜索帮助