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.
layui/examples/dropdown.html

347 lines
7.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!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>