mirror of https://github.com/layui/layui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
346 lines
7.5 KiB
346 lines
7.5 KiB
<!DOCTYPE html> |
|
<html> |
|
<head> |
|
<meta charset="utf-8"> |
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
|
<title>下拉菜单 - layui</title> |
|
|
|
<link rel="stylesheet" href="../src/css/layui.css"> |
|
|
|
</head> |
|
<body> |
|
|
|
<div class="layui-container"> |
|
|
|
<div class="layui-btn-container" style="padding: 30px 0;"> |
|
<button class="layui-btn" id="demo1"> |
|
按钮下拉 |
|
<i class="layui-icon layui-icon-down layui-font-12"></i> |
|
</button> |
|
<button class="layui-btn layui-btn-primary" id="demo2"> |
|
|
|
按钮下拉 |
|
<i class="layui-icon layui-icon-down layui-font-12"></i> |
|
</button> |
|
|
|
</div> |
|
|
|
<div class="layui-text"> |
|
<a href="javascript:;" id="demo3">文字下拉 <i class="layui-icon layui-icon-down"></i></a> |
|
</div> |
|
|
|
<div class="layui-btn-container"> |
|
<a href="javascript:;" id="testopen">testopen <i class="layui-icon layui-icon-down"></i></a> |
|
<button class="layui-btn" lay-on="open">open</button> |
|
<button class="layui-btn" lay-on="close">close</button> |
|
</div> |
|
|
|
<div class="layui-bg-gray" style="margin-top: 30px; width: 100%; height: 300px; text-align: center;" id="demo20"> |
|
<span class="layui-font-gray" style="position: relative; top:50%;">鼠标右键菜单</span> |
|
</div> |
|
</div> |
|
|
|
|
|
<script src="../src/layui.js"></script> |
|
<script> |
|
layui.use('dropdown', function () { |
|
var dropdown = layui.dropdown; |
|
var util = layui.util; |
|
|
|
dropdown.render({ |
|
elem: '#demo1', |
|
shade: [0.1, '#ddd'], |
|
//,align: 'right' |
|
data: [ |
|
{ |
|
title: 'menu item 1', |
|
templet: |
|
'<i class="layui-icon layui-icon-light"></i> {{= d.title }} <span class="layui-badge-dot"></span>', |
|
id: '', |
|
href: '', |
|
type: '' //菜单类型,支持:normal/group/parent |
|
}, |
|
{ |
|
title: 'menu item <strong>2</strong>', |
|
templet: |
|
'<img src="https://unpkg.com/outeres@0.1.1/demo/avatar/0.png" style="width: 16px;"> {{- d.title }}', |
|
id: '', |
|
href: 'https://www.layui.com/', |
|
target: '_blank' |
|
}, |
|
{ type: '-' }, |
|
{}, |
|
{ |
|
title: 'menu item 3 <hello>', |
|
id: '', |
|
type: 'group', |
|
child: [ |
|
{ |
|
title: 'menu item 3-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-2', |
|
id: '', |
|
child: [ |
|
{ |
|
title: 'menu item 3-2-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-2-2', |
|
id: '', |
|
type: 'group', |
|
child: [ |
|
{ |
|
title: 'menu item 3-2-2-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-2-2-2', |
|
id: '' |
|
} |
|
] |
|
}, |
|
{ |
|
title: 'menu item 3-2-3', |
|
id: '' |
|
} |
|
] |
|
}, |
|
{ |
|
title: 'menu item 3-3', |
|
id: '', |
|
type: 'group', |
|
child: [ |
|
{ |
|
title: 'menu item 3-3-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-3-2', |
|
id: '', |
|
child: [ |
|
{ |
|
title: 'menu item 3-3-2-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-3-2-2', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 3-3-2-3', |
|
id: '' |
|
} |
|
] |
|
}, |
|
{ |
|
title: 'menu item 3-3-3', |
|
id: '' |
|
} |
|
] |
|
} |
|
] |
|
}, |
|
{ type: '-' }, |
|
{ |
|
title: 'menu item 4', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 5', |
|
id: '', |
|
child: [ |
|
{ |
|
title: 'menu item 5-1', |
|
id: '', |
|
child: [ |
|
{ |
|
title: 'menu item 5-1-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 5-1-2', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 5-1-3', |
|
id: '' |
|
} |
|
] |
|
}, |
|
{ |
|
title: 'menu item 5-2', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 5-3', |
|
id: '' |
|
} |
|
] |
|
}, |
|
{ type: '-' }, |
|
{ |
|
title: 'menu item 6', |
|
id: '', |
|
type: 'group', |
|
isSpreadItem: false, |
|
child: [ |
|
{ |
|
title: 'menu item 6-1', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 6-2', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 6-3', |
|
id: '' |
|
} |
|
] |
|
} |
|
], |
|
|
|
id: 'demo1', |
|
|
|
// 触发点击事件的元素范围 --- default: 仅子菜单触发点击事件(默认,可不填); all: 所有父子菜单均触发点击事件 |
|
clickScope: 'all', |
|
|
|
// 菜单被点击的事件 |
|
click: function (obj) { |
|
console.log(obj); |
|
} |
|
}); |
|
|
|
var inst = dropdown.render({ |
|
elem: '#demo2', |
|
// ,show: true |
|
data: [ |
|
{ |
|
title: 'menu item 1', |
|
href: '#1', |
|
disabled: true |
|
}, |
|
{ |
|
title: 'menu item 2(点击不关闭)', |
|
href: '#2', |
|
id: 'bbb' |
|
}, |
|
{ |
|
title: 'menu item 3', |
|
href: '#3' |
|
} |
|
], |
|
click: function (data, othis) { |
|
console.log(data); |
|
if (data.id === 'bbb') { |
|
return false; |
|
} |
|
}, |
|
ready: function () { |
|
console.log(arguments); |
|
}, |
|
close: function () { |
|
console.log('demo2', this.elem); |
|
} |
|
}); |
|
|
|
dropdown.render({ |
|
elem: '#demo3', |
|
content: '自定义内容 123 ', |
|
style: 'background:#666;color:#fff;padding:15px;', |
|
align: 'center', |
|
trigger: 'hover', |
|
close: function () { |
|
console.log('demo3', this.elem); |
|
} |
|
}); |
|
|
|
//右键 |
|
dropdown.render({ |
|
elem: document, //'#demo20' //也可绑定到 document,从而重置整个右键 |
|
trigger: 'contextmenu', //contextmenu |
|
isAllowSpread: false, |
|
//,style: 'width: 200px' |
|
customName: { |
|
children: 'children' |
|
}, |
|
data: [ |
|
{ |
|
title: 'menu item 1', |
|
id: '#1' |
|
}, |
|
{ |
|
title: 'menu item 2', |
|
id: 'reload' |
|
}, |
|
{ type: '-' }, |
|
{ |
|
title: 'menu item 3', |
|
id: '#3', |
|
children: [ |
|
{ |
|
title: 'menu item 3-1', |
|
id: '#1' |
|
}, |
|
{ |
|
title: 'menu item 3-2', |
|
id: '#2' |
|
}, |
|
{ |
|
title: 'menu item 3-3', |
|
id: '#3' |
|
} |
|
] |
|
}, |
|
{ type: '-' }, |
|
{ |
|
title: 'menu item 4', |
|
id: '' |
|
}, |
|
{ |
|
title: 'menu item 5', |
|
id: '#1' |
|
}, |
|
{ |
|
title: 'menu item 6', |
|
id: '#1' |
|
} |
|
], |
|
click: function (obj, othis) { |
|
if (obj.id === 'reload') { |
|
location.reload(); |
|
} |
|
} |
|
}); |
|
|
|
dropdown.render({ |
|
elem: '#testopen', |
|
id: 'testopen', |
|
trigger: "manual", |
|
data: [{ id: "refresh", title: "刷新"}] |
|
}); |
|
|
|
util.on({ |
|
open: function(){ |
|
dropdown.open('testopen') |
|
}, |
|
close: function(){ |
|
dropdown.close('testopen') |
|
} |
|
}, |
|
{trigger: 'mouseenter'}); |
|
|
|
return; |
|
|
|
dropdown.render({ |
|
elem: document, |
|
content: '123' |
|
}); |
|
}); |
|
|
|
</script> |
|
</body> |
|
</html>
|
|
|