日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Layui-经典模块化前端框架

發布時間:2024/3/26 HTML 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Layui-经典模块化前端框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Layui

        • 1. Layui簡介
          • 1.1 下載
          • 1.2 入門
        • 2. 柵格布局
        • 3. 圖標
        • 4. 按鈕
          • 4.1 主題
          • 4.2 尺寸
          • 4.3 圓角
          • 4.4 圖標按鈕
          • 4.5 按鈕組
        • 5. 后臺布局
        • 6. 數據表格
        • 7. 彈出層
        • 8. 表單
        • 9. 新增
        • 10. 刪除跟修改功能

1. Layui簡介

layui(諧音:類UI) 是一款采用自身模塊規范編寫的前端 UI 框架,遵循原生 HTML/CSS/JS 的書寫與組織形式,門檻極低,拿來即用。

其外在極簡,卻又不失飽滿的內在,體積輕盈,組件豐盈,從核心代碼到 API 的每一處細節都經過精心雕琢,非常適合界面的快速開發。

1.1 下載

官網:https://www.layui.com/

下載后的目錄結構如下:

├─css //css目錄│ │─modules //模塊css目錄│ │ ├─laydate│ │ ├─layer│ │ └─layim│ └─layui.css //核心樣式文件├─font //字體圖標目錄├─images //圖片資源目錄(目前只有layim和編輯器用到的GIF表情)│─lay //模塊核心目錄│ └─modules //各模塊組件│─layui.js //基礎核心庫└─layui.all.js //包含layui.js和所有模塊的合并文件
1.2 入門
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>layui-demo</title><!-- 引入layui的樣式 --> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body><!-- 使用layUI的按鈕樣式--> <button type="button" class="layui-btn">一個標準的按鈕</button><script src="layui/layui.js"></script> <script>/* 使用layUI的彈出層模塊 */layui.use(['layer'], function(){var layer = layui.layer; /* 彈出hello world提示 */layer.msg('Hello World');});</script> </body> </html>

2. 柵格布局

? 如你所愿,在 layui 2.0 的版本中,我們加入了強勁的柵格系統和后臺布局方案,這意味著你終于可以著手采用 layui 排版你的響應式網站和后臺系統了。layui 的柵格系統采用業界比較常見的 12 等分規則,內置移動設備、平板、桌面中等和大型屏幕的多終端適配處理,最低能支持到ie8。而你應當更欣喜的是,layui 終于開放了它經典的后臺布局方案,快速搭建一個屬于你的后臺系統將變得十分輕松自如。

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>layui-demo</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body> <!-- <div class="layui-fluid"> : 鋪滿 --> <div class="layui-container"> 常規布局(以中型屏幕桌面為例):<div class="layui-row"><div class="layui-col-md9 layui-col-lg6 layui-bg-blue">你的內容 9/12</div><div class="layui-col-md3 layui-col-lg6 layui-bg-red">你的內容 3/12</div></div></div> </body> </html>
  • 采用 layui-row 來定義行,如:<div class="layui-row"></div>

  • 列可以同時出現最多四種不同的組合,分別是:xs(超小屏幕,如手機)、sm(小屏幕,如平板)、md(桌面中等屏幕)、lg(桌面大型屏幕),以呈現更加動態靈活的布局。

3. 圖標

? layui 的所有圖標全部采用字體形式,取材于阿里巴巴矢量圖標庫(iconfont)。因此你可以把一個 icon 看作是一個普通的文字,這意味著你直接用 css 控制文字屬性,如 color、font-size,就可以改變圖標的顏色和大小。你可以通過 font-class 或 unicode 來定義不同的圖標。

? 通過對一個內聯元素(一般推薦用 i標簽)設定 class=“layui-icon”,來定義一個圖標,然后對元素加上圖標對應的 font-class(注意:layui 2.3.0 之前只支持采用 unicode 字符),即可顯示出你想要的圖標,譬如:

<i class="layui-icon layui-icon-face-smile" ></i>

或者

<i class="layui-icon">&#xe69c;</i>

4. 按鈕

? 向任意HTML元素設定class=“layui-btn”,建立一個基礎按鈕。通過追加格式為*layui-btn-{type}*的class來定義其它按鈕風格。內置的按鈕class可以進行任意組合,從而形成更多種按鈕風格。

<button type="button" class="layui-btn">一個標準的按鈕</button> <a href="http://www.bailiban.com" class="layui-btn">一個可跳轉的按鈕</a>
4.1 主題
<button type="button" class="layui-btn layui-btn-primary">原始按鈕</button><button type="button" class="layui-btn ">默認按鈕</button><button type="button" class="layui-btn layui-btn-normal">百搭按鈕</button><button type="button" class="layui-btn layui-btn-warm">暖色按鈕</button><button type="button" class="layui-btn layui-btn-danger">警告按鈕</button><button type="button" class="layui-btn layui-btn-disabled">禁用按鈕</button>
4.2 尺寸
<button type="button" class="layui-btn layui-btn-lg">大型按鈕</button><button type="button" class="layui-btn ">默認按鈕</button><button type="button" class="layui-btn layui-btn-sm">小型按鈕</button><button type="button" class="layui-btn layui-btn-xs">迷你按鈕</button> <button type="button" class="layui-btn layui-btn-fluid">流體按鈕(最大化適應)</button>
4.3 圓角
<button type="button" class="layui-btn layui-btn-radius layui-btn-primary">原始按鈕</button><button type="button" class="layui-btn layui-btn-radius ">默認按鈕</button><button type="button" class="layui-btn layui-btn-radius layui-btn-normal">百搭按鈕</button><button type="button" class="layui-btn layui-btn-radius layui-btn-warm">暖色按鈕</button><button type="button" class="layui-btn layui-btn-radius layui-btn-danger">警告按鈕</button><button type="button" class="layui-btn layui-btn-radius layui-btn-disabled">禁用按鈕</button>
4.4 圖標按鈕
<button type="button" class="layui-btn"><i class="layui-icon">&#xe608;</i> 添加 </button><button type="button" class="layui-btn layui-btn-sm layui-btn-primary"><i class="layui-icon">&#xe605;</i> </button>
  • 圖標字體參考圖標列表。
4.5 按鈕組
<div class="layui-btn-group"><button type="button" class="layui-btn">增加</button><button type="button" class="layui-btn">編輯</button><button type="button" class="layui-btn">刪除</button> </div><div class="layui-btn-group"><button type="button" class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe654;</i></button><button type="button" class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe642;</i></button><button type="button" class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe640;</i></button><button type="button" class="layui-btn layui-btn-sm"><i class="layui-icon">&#xe602;</i></button> </div><div class="layui-btn-group"><button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe654;</i></button><button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe642;</i></button><button type="button" class="layui-btn layui-btn-primary layui-btn-sm"><i class="layui-icon">&#xe640;</i></button> </div>

5. 后臺布局

? layui 之所以贏得如此多人的青睞,更多是在于它前后臺系統通吃的能力。既可編織出絢麗的前臺頁面,又可滿足繁雜的后臺功能需求。layui 致力于讓每一位開發者都能輕松搭建自己的后臺。下面是 layui 提供的一個現場的方案。

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>layui-demo</title> <link rel="stylesheet" href="layui/css/layui.css"> </head> <body class="layui-layout-body"> <div class="layui-layout layui-layout-admin"><div class="layui-header"><div class="layui-logo">layui 后臺布局</div><!-- 頭部區域(可配合layui已有的水平導航) --><ul class="layui-nav layui-layout-left"><li class="layui-nav-item"><a href="">控制臺</a></li><li class="layui-nav-item"><a href="">商品管理</a></li><li class="layui-nav-item"><a href="">用戶</a></li><li class="layui-nav-item"><a href="javascript:;">其它系統</a><dl class="layui-nav-child"><dd><a href="">郵件管理</a></dd><dd><a href="">消息管理</a></dd><dd><a href="">授權管理</a></dd></dl></li></ul><ul class="layui-nav layui-layout-right"><li class="layui-nav-item"><a href="javascript:;"><img src="http://t.cn/RCzsdCq" class="layui-nav-img">賢心</a><dl class="layui-nav-child"><dd><a href="">基本資料</a></dd><dd><a href="">安全設置</a></dd></dl></li><li class="layui-nav-item"><a href="">退了</a></li></ul></div><div class="layui-side layui-bg-black"><div class="layui-side-scroll"><ul class="layui-nav layui-nav-tree" lay-filter="test"><li class="layui-nav-item layui-nav-itemed"><a class="" href="javascript:;">系統管理</a><dl class="layui-nav-child"><!-- data-url 定義點擊后要顯示的頁面 --><dd><a href="javascript:;" data-url="user.jsp">用戶管理</a></dd><dd><a href="javascript:;" data-url="good.jsp">商品管理</a></dd></dl></li></ul></div></div><div class="layui-body"><!-- 內容主體區域 --><div style="padding: 15px;" class="pagenav">內容主體區域</div></div><div class="layui-footer"><!-- 底部固定區域 -->? layui.com - 底部固定區域</div> </div> <script src="layui/layui.js"></script> <script> //JavaScript代碼區域 layui.use('element', function(){/* 使用layui內置的jquery */var $=layui.$;/* 給菜單添加點擊事件 */$('dl.layui-nav-child>dd').click(function (){/* 獲取點擊后的跳轉頁面url */var url = $(this).find("a").attr("data-url");/* 將URL部分內容顯示在主體區域 */$('.pagenav').load(url);})}); </script> </body> </html>

6. 數據表格

? table 模塊是layui的又一走心之作,在 layui 2.0 的版本中全新推出,是 layui 最核心的組成之一。它用于對表格進行一些列功能和動態化數據操作,涵蓋了日常業務所涉及的幾乎全部需求。支持固定表頭、固定行、固定列左/列右,支持拖拽改變列寬度,支持排序,支持多級表頭,支持單元格的自定義模板,支持對表格重載(比如搜索、條件篩選等),支持復選框,支持分頁,支持單元格編輯等等一些列功能。盡管如此,我們仍將對其進行完善,在控制代碼量和性能的前提下,不定期增加更多人性化功能。table 模塊也將是 layui 重點維護的項目之一。

? 這里的數據表格的演示我們采用前臺跟后臺交互的方式,故我們先準備后臺的表格數據。

數據準備

? 我們在后臺封裝100條用戶數據,由于前端接收數據的時候接收的是json格式字符串,所以后臺在傳遞數據時候需要進行數據處理。

public class UserData {// 用戶數據的集合public static List<User> userList = new ArrayList<User>();} public class User {private String id ;private String name ;private String password ;private String userImg ;// setter and getter } @WebServlet("/TableDataServlet") public class TableDataServlet extends HttpServlet {// 構造方法中創建100條用戶數據public TableDataServlet() {for(int i=1;i<=100;i++){User u = new User(i,"seven"+i,"123456","1.png");UserData.userList.add(u);}}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { // 獲取前端傳遞需要的頁號跟每頁顯示數量String pageNum = req.getParameter("page");String limit = req.getParameter("limit");// 獲取當頁數量的集合List<User> pageList = getPageList(Integer.parseInt(pageNum),Integer.parseInt(limit));resp.setContentType("text/json;charset=utf-8");// 將數據封裝成前端需要的格式JSONObject data = new JSONObject();data.put("code", 0);data.put("msg", "no data."); // 無數據顯示的內容data.put("count", userList.size());JSONArray array= JSONArray.parseArray(JSON.toJSONString(pageList));data.put("data", array);resp.getWriter().write(data.toString());}// 獲取當頁數量的集合public List<User> getPageList(int pageNo ,int pageLimit){List<User> list = new ArrayList<>();int maxSize = UserData.userList.size()> pageNo*pageLimit? pageNo*pageLimit:UserData.userList.size() ;for(int i=(pageNo-1)*pageLimit;i<maxSize;i++){list.add(UserData.userList.get(i));}return list ;}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {doGet(req, resp);}}
  • 參數的page表示頁碼。
  • 參數limit表示每頁顯示的數量。

前臺頁面user.jsp

<!DOCTYPE html> <html> <head><meta charset="utf-8"><title>用戶列表</title><link rel="stylesheet" href="layui/css/layui.css" media="all"><style>/* 設置表格行高自適應 */.layui-table-cell {height: auto !important;}</style> </head><body><div><button type="button" class="layui-btn" id="add_btn">新增</button></div> <table id="demo" lay-filter="demo" ></table><script> layui.use('table',function(){var table = layui.table;//第一個實例table.render({elem: '#demo' //指定原始 table 容器的選擇器或 DOM,方法渲染方式必填 ,toolbar:true // 是否顯示工具條,url: 'TableDataServlet' //數據接口,page: true //開啟分頁,cols: [[ //表頭,里面的name必須保證返回的json數組的bean的屬性名為name,titile為頁面表頭顯示的字段名{field: 'id', title: 'ID', width:'20%',sort:true},{field: 'name', title: '姓名', width: '20%',sort:true},{field: 'password', title: '密碼', width:'20%'},{field: 'userImg', title: '密碼',templet : '#proImg'} ,{fixed: 'right',title : '操作',align:'center', toolbar: '#opt'}]]});}); </script><script id="opt" type="text/html"><a lay-event="update_event" href="javascript:;" ><button type="button" class="layui-btn layui-btn-radius layui-btn-xs layui-btn-normal">修改</button></a><a lay-event="del_event" href="javascript:;" ><button type="button" class="layui-btn layui-btn-radius layui-btn-xs layui-btn-normal">刪除</button></a> </script><!-- 下面是圖片單元格要放入的內容,跟上面的templet對應 --> <script id="proImg" type="text/html"><img src="ImageServlet?imgName={{d.user_img}}" /> </script></body> </html> @WebServlet("/ImageServlet") public class ImageServlet extends HttpServlet{// 假設圖片都是存在這個路徑下private static String path = "D://upload//";@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { // 獲取傳遞過來的文件名String imgName = req.getParameter("imgName"); // 取path路徑下找到這個文件,作為流數據讀取踹,然后通過OutputStream寫到客戶端 // 如果看不懂這段代碼,把當時課堂上講的圖片上傳視頻再重復看下FileInputStream inputStream = new FileInputStream(path+imgName);int i = inputStream.available();byte[] buff = new byte[i];inputStream.read(buff);inputStream.close();resp.setContentType("image/*");OutputStream out = resp.getOutputStream();out.write(buff);out.close();}}
  • 最后一列加上了操作列,為后續功能做準備。
  • 由于user.jsp是內嵌在導航頁面中,所以user.jsp不需要再次引入layui的css跟js。
  • sort:true表示是否給列加上排序功能。
  • templet是為了設置自定義列內容跟結構。
  • .layui-table-cell是為了設置列高度自適應。

7. 彈出層

? layer 至今仍作為 layui 的代表作,她的受眾廣泛并非偶然,而是這數年來的堅持、不棄的執念,將那些不屑的眼光轉化為應得的尊重,不斷完善和維護、不斷建設和提升社區服務,在 Web 開發者的圈子里口口相傳,乃至于成為今天的 layui 最強勁的源動力。目前,layer已成為國內最多人使用的 Web 彈層組件,GitHub) 自然Stars5000+,官網累計下載量達50w+,大概有30萬不同規模的 Web 平臺使用過 layer。

? 之所以列舉上面這些數字,并非是在夸夸其談,而是懂 layer 的人都知道,這是一種怎樣不易的沉淀。而由于 layer 在 layui 體系中的位置比較特殊,甚至讓很多人都誤以為 layui = layer ui,所以再次強調 layer 只是作為 layui 的一個彈層模塊,由于其用戶基數較大,所以至今仍把她作為獨立組件來維護。

?

layer作為獨立組件使用,你可以去layer獨立版本官網下載組件包。你需要在你的頁面引入jQuery1.8以上的任意版本,并引入layer.js。且jquery的引入位置必須放到layer引入之前,否則無效。

  • layer的獨立版本:https://layer.layui.com/

  • 使用方式

    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script src="layer/layer.js"></script><script type="text/javascript">layer.msg('hello'); </script>

layer作為 layui 模塊化使用,那么你直接在官網下載 layui 框架即可,無需引入 jQuery 和 layer.js,但需要引入layui.css和layui.js。

  • 使用方式

    <script>layui.use('layer', function(){var layer = layui.layer;layer.msg('hello');}); </script>
  • type

    layer提供了5種層類型。可傳入的值有:0(信息框,默認)1(頁面層)2(iframe層)3(加載層)4(tips層)。 若你采用*layer.open({type: 1})*方式調用,則type為必填項(信息框除外)

  • title

    ? title支持三種類型的值,若你傳入的是普通的字符串,如title :‘我是標題’,那么只會改變標題文本;若你還需要自定義標題區域樣式,那么你可以title: [‘文本’, ‘font-size:18px;’],數組第二項可以寫任意css樣式;如果你不想顯示標題欄,你可以title: false

  • content

    ? content可傳入的值是靈活多變的,不僅可以傳入普通的html內容,還可以指定DOM,更可以隨著type的不同而不同。

  • area

    ? 在默認狀態下,layer是寬高都自適應的,但當你只想定義寬度時,你可以area: ‘500px’,高度仍然是自適應的。當你寬高都要定義時,你可以area: [‘500px’, ‘300px’]

  • btn

    ? 信息框模式時,btn默認是一個確認按鈕,其它層類型則默認不顯示,加載層和tips層則無效。當您只想自定義一個按鈕時,你可以btn: ‘我知道了’,當你要定義兩個按鈕時,你可以btn: [‘yes’, ‘no’]。當然,你也可以定義更多按鈕,比如:btn: [‘按鈕1’, ‘按鈕2’, ‘按鈕3’, …],按鈕1的回調是yes,而從按鈕2開始,則回調為btn2: function(){},以此類推。

  • closeBtn

    layer提供了兩種風格的關閉按鈕,可通過配置1和2來展示,如果不顯示,則closeBtn: 0

  • shade

    即彈層外區域。默認是0.3透明度的黑色背景(’#000’)。如果你想定義別的顏色,可以shade: [0.8, ‘#393D49’];如果你不想顯示遮罩,可以shade: 0

  • shadeClose

    如果你的shade是存在的,那么你可以設定shadeClose來控制點擊彈層外區域關閉。

  • time

    默認不會自動關閉。當你想自動關閉時,可以time: 5000,即代表5秒后自動關閉,注意單位是毫秒(1秒=1000毫秒)

  • layer.open(options)

    基本上是露臉率最高的方法,不管是使用哪種方式創建層,都是走layer.open(),創建任何類型的彈層都會返回一個當前層索引,上述的options即是基礎參數

  • layer.alert(content, options, yes) - 普通信息框

    ? 它的彈出似乎顯得有些高調,一般用于對用戶造成比較強烈的關注,類似系統alert,但卻比alert更靈便。它的參數是自動向左補齊的。通過第二個參數,可以設定各種你所需要的基礎參數,但如果你不需要的話,直接寫回調即可。

  • layer.confirm(content, options, yes, cancel) - 詢問框

    ? 類似系統confirm,但卻遠勝confirm,另外它不是和系統的confirm一樣阻塞你需要把交互的語句放在回調體中。同樣的,它的參數也是自動補齊的。

  • layer.msg(content, options, end) - 提示框

    ? 我們在源碼中用了相對較大的篇幅來定制了這個msg,目的是想將其打造成露臉率最高的提示框。而事實上我的確也在大量地使用它。因為它簡單,而且足夠得自覺,它不僅占據很少的面積,而且默認還會3秒后自動消失所有這一切都決定了我對msg的愛。因此我賦予了它許多可能在外形方面,它堅持簡陋的變化,在作用方面,它堅持零用戶操作。而且它的參數也是自動補齊的。

  • layer.load(icon, options) - 加載層

    ? type:3的深度定制。load并不需要你傳太多的參數,但如果你不喜歡默認的加載風格,你還有選擇空間。icon支持傳入0-2如果是0,無需傳。另外特別注意一點:load默認是不會自動關閉的,因為你一般會在ajax回調體中關閉它。

  • layer.close(index) - 關閉特定層

    關于它似乎沒有太多介紹的必要,唯一讓你疑惑的,可能就是這個index了吧。事實上它非常容易得到。

    //當你在iframe頁面關閉自身時 var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引 parent.layer.close(index); //再執行關閉 //如果你想關閉最新彈出的層,直接獲取layer.index即可layer.close(layer.index); //它獲取的始終是最新彈出的某個層,值是由layer內部動態遞增計算的

8. 表單

? 我們通常會在最常用的模塊上耗費更多的精力,用盡可能簡單的方式詮釋 layui 所帶來的便捷性。顯而易見,form 是我們非常看重的一塊。于是它試圖用一貫極簡的姿態,去捕獲你對它的深深青睞。寄托在原始表單元素上的屬性設定,及其全自動的初始渲染,和基于事件驅動的接口書寫方式,會讓你覺得,傳統模式下的組件調用形式,也可以是那樣的優雅、簡單。然而文字的陳述始終是蒼白的,所以用行動慢慢感受 layui.form 給你的項目帶來的效率提升吧。

元素組件

layui 針對各種表單元素做了較為全面的UI支持,你無需去書寫那些 UI 結構,你只需要寫 HTML 原始的 input、select、textarea 這些基本的標簽即可。我們在 UI 上的渲染只要求一點,你必須給表單體系所在的父元素加上*class="layui-form"*,一切的工作都會在你加載完form模塊后,自動完成。如下是一個最基本的例子: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>layui.form小例子</title> <link rel="stylesheet" href="layui.css" media="all"> </head> <body> <form class="layui-form"> <!-- 提示:如果你不想用form,你可以換成div等任何一個普通元素 --><div class="layui-form-item"><label class="layui-form-label">輸入框</label><div class="layui-input-block"><input type="text" name="" placeholder="請輸入" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">下拉選擇框</label><div class="layui-input-block"><select name="interest" lay-filter="aihao"><option value="0">寫作</option><option value="1">閱讀</option></select></div></div><div class="layui-form-item"><label class="layui-form-label">復選框</label><div class="layui-input-block"><input type="checkbox" name="like[write]" title="寫作"><input type="checkbox" name="like[read]" title="閱讀"></div></div><div class="layui-form-item"><label class="layui-form-label">開關關</label><div class="layui-input-block"><input type="checkbox" lay-skin="switch"></div></div><div class="layui-form-item"><label class="layui-form-label">開關開</label><div class="layui-input-block"><input type="checkbox" checked lay-skin="switch"></div></div><div class="layui-form-item"><label class="layui-form-label">單選框</label><div class="layui-input-block"><input type="radio" name="sex" value="0" title="男"><input type="radio" name="sex" value="1" title="女" checked></div></div><div class="layui-form-item layui-form-text"><label class="layui-form-label">請填寫描述</label><div class="layui-input-block"><textarea placeholder="請輸入內容" class="layui-textarea"></textarea></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit lay-filter="*">立即提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div><!-- 更多表單結構排版請移步文檔左側【頁面元素-表單】一項閱覽 --> </form> <script src="layui.js"></script> <script> layui.use('form', function(){var form = layui.form;//各種基于事件的操作,下面會有進一步介紹 }); </script> </body> </html>

事件監聽

語法:form.on('event(過濾器值)', callback); event描述
select監聽select下拉選擇事件
checkbox監聽checkbox復選框勾選事件
switch監聽checkbox復選框開關事件
radio監聽radio單選框事件
submit監聽表單提交事件
  • 監聽select

    form.on('select(test)', function(data){console.log(data); });
  • 監聽checkbox復選

    form.on('checkbox(filter)', function(data){console.log(data.elem); //得到checkbox原始DOM對象console.log(data.elem.checked); //是否被選中,true或者falseconsole.log(data.value); //復選框value值,也可以通過data.elem.value得到console.log(data.othis); //得到美化后的DOM對象 });
  • 監聽submit提交

    按鈕點擊或者表單被執行提交時觸發,其中回調函數只有在驗證全部通過后才會進入,回調返回三個成員:

    form.on('submit(*)', function(data){console.log(data.elem) //被執行事件的元素DOM對象,一般為button對象console.log(data.form) //被執行提交的form對象,一般在存在form標簽時才會返回console.log(data.field) //當前容器的全部表單字段,名值對形式:{name: value}return false; //阻止表單跳轉。如果需要表單跳轉,去掉這段即可。 });

    再次溫馨提示:上述的*submit(*)*中的 *** 號為事件過濾器的值,是在你綁定執行提交的元素時設定的,如:

    <button lay-submit lay-filter="*">提交</button>

    你可以把*號換成任意的值,如:lay-filter=“go”,但監聽事件時也要改成 form.on(‘submit(go)’, callback);

表單賦值 / 取值

語法:form.val(‘filter’, object);

用于給指定表單集合的元素賦值和取值。如果 object 參數存在,則為賦值;如果 object 參數不存在,則為取值。

//給表單賦值 form.val("formTest", { //formTest 即 class="layui-form" 所在元素屬性 lay-filter="" 對應的值"username": "賢心" // "name": "value","sex": "女","auth": 3,"check[write]": true,"open": false,"desc": "我愛layui" });//獲取表單區域所有值 var data1 = form.val("formTest");

第二個參數中的鍵值是表單元素對應的 name 和 value。

9. 新增

打開新增頁面

<div><button class="layui-btn" id="add_btn">新增</button></div> <script>$("#add_btn").on("click",function () {layer.msg(" add ") ;layer.open({type:2,title:"用戶新增",area: ['700px', '600px'],maxmin:true,shadeClose :false,content:'add.jsp'});}); </script>

顯示新增頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>layui</title><link rel="stylesheet" href="static/layui/css/layui.css"> </head> <body><form class="layui-form"><div class="layui-form-item"><label class="layui-form-label">用戶名</label><div class="layui-input-block"><input type="text" name="userName" placeholder="請輸入用戶名" autocomplete="off" class="layui-input" ></div></div><div class="layui-form-item"><label class="layui-form-label">密碼</label><div class="layui-input-block"><input type="text" name="userPwd" placeholder="請輸入用戶密碼" autocomplete="off" class="layui-input" ></div></div><input id="img" type="hidden" name="imgName" /><div class="layui-upload"><button type="button" class="layui-btn" id="test1">上傳圖片</button><div class="layui-upload-list"><img class="layui-upload-img" id="demo1"></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit lay-filter="*">立即提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div> </form><script src="static/layui/layui.js"></script><script>layui.use(['form','upload'], function(){var upload = layui.upload;var form = layui.form;var $ = layui.$;//圖片上傳var uploadInst = upload.render({elem: '#test1' //綁定元素,url: 'UploadServlet' //上傳接口,before: function(obj){//預讀本地文件示例obj.preview(function(index, file, result){$('#demo1').attr('src', result); //圖片鏈接});},done: function(res){//res 獲取返回的json結果$('#img').val(res.data.imgName);} });form.on('submit(*)', function(data){//1,數據提交到后臺,2,關閉當前頁面,3刷新父頁面的table$.post("InsertServlet",data.field,function () {// 提交后刷新父頁面的表格,demo為父表格的idparent.layui.table.reload('demo');// 通過父頁面關閉當前頁面var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引parent.layer.close(index);return true ;// 返回true表示提交數據,返回false表示不提交});});});</script> </body> </html>

處理新增請求的InsertServlet

@WebServlet("/InsertServlet") public class InsertSerlvet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String userName = req.getParameter("userName");String userPwd = req.getParameter("userPwd");String imgName = req.getParameter("imgName");User u = new User(""+(new Random().nextInt() + 100),userName,userPwd,imgName);UserData.userList.add(u);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

10. 刪除跟修改功能

? 上面基于后臺布局的demo有了表格列表數據的顯示功能,還有了添加功能,現將刪除跟修改功能也補全完整。

上面已經把修改跟刪除的界面顯示定義出來,我們這里只需要通過table.on將點擊事件進行綁定即可。

table.on('tool(demo)', function(obj){var layEvent = obj.event; //獲得 lay-event 對應的值 var data = obj.data; //獲得當前行數據var userName = data.name;// 表單中的name字段var userId = data.id;// 表單中的id字段var $ = layui.$ ;if(layEvent === 'del_event'){layer.confirm("你確定真的要刪除"+userName+"的數據嗎?",{icon: 2},function(index){// 異步請求去后臺刪除數據$.post("DeleteServlet",{"user_id":userId},function(data){// 刪除成功給出提示if(data.flag){// 操作成功的提示layer.msg("刪除成功!",{icon:1});// 關閉最新的層layer.close(layer.index);// 刷新id為demo的table數據layui.table.reload("demo");}});});}else if(layEvent === 'update_event'){// 修改操作// 打開修改頁面layer.open({type:2,title:"用戶修改",area: ['700px', '600px'],maxmin:true,shadeClose :false,// 修改頁面需要先訪問Servlet獲取修改的用戶信息content:'UpdatePageServlet?user_id='+userId});} });
  • table.on('tool(demo)'中的demo是去找lay-filter="demo"的table。

刪除的后臺功能

@WebServlet("/DeleteServlet") public class DeleteServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");String deleteId = req.getParameter("deleteId");for(int i = 0; i< UserData.userList.size(); i++){String id = UserData.userList.get(i).getId() ;if(id.equals(deleteId)){UserData.userList.remove(i);break;}}resp.setContentType("text/json;charset=utf-8");resp.getWriter().write("{\"flag\":true}");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

進入修改頁面時需要先到后臺獲取要修改的用戶信息

@WebServlet("/UpdatePageServlet") public class UpdatePageServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");String userId = req.getParameter("userId");for(int i = 0; i< UserData.userList.size(); i++){String id = UserData.userList.get(i).getId() ;if(id.equals(userId)){req.setAttribute("updateUser", UserData.userList.get(i));break;}}req.getRequestDispatcher("update.jsp").forward(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

然后才能打開修改頁面

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>layui</title><link rel="stylesheet" href="static/layui/css/layui.css"><style>#demo1{width: 300px;}</style> </head> <body><form class="layui-form"><input type="hidden" name="userId" value="${updateUser.id}" /><div class="layui-form-item"><label class="layui-form-label">用戶名</label><div class="layui-input-block"><input type="text" name="userName" value="${updateUser.name}" placeholder="請輸入用戶名" autocomplete="off" class="layui-input" ></div></div><div class="layui-form-item"><label class="layui-form-label">密碼</label><div class="layui-input-block"><input type="text" name="userPwd" value="${updateUser.password}" placeholder="請輸入用戶密碼" autocomplete="off" class="layui-input" ></div></div><input id="img" type="hidden" name="imgName" value="${updateUser.img}" /><div class="layui-upload"><button type="button" class="layui-btn" id="test1">上傳圖片</button><div class="layui-upload-list"><img class="layui-upload-img" id="demo1" src="ImageServlet?imageName=${updateUser.img}"></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit lay-filter="*">立即提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div><script src="static/layui/layui.js"></script><script>layui.use(['form','upload'], function(){var upload = layui.upload;var form = layui.form;var $ = layui.$;//執行實例var uploadInst = upload.render({elem: '#test1' //綁定元素,url: 'UploadServlet' //上傳接口,before: function(obj){//預讀本地文件示例obj.preview(function(index, file, result){$('#demo1').attr('src', result); //圖片鏈接(base64)});},done: function(res){$('#img').val(res.data.imgName);},error: function(){}});form.on('submit(*)', function(data){//1,數據提交到后臺,2,關閉當前頁面,3刷新父頁面的table$.post("UpdateServlet",data.field,function () {// 提交后刷新父頁面的表格,demo為父表格的idparent.layui.table.reload('demo');// 通過父頁面關閉當前頁面var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引parent.layer.close(index);});// 通過父頁面關閉當前頁面var index = parent.layer.getFrameIndex(window.name); //先得到當前iframe層的索引parent.layer.close(index);// 提交后刷新父頁面的表格,demo為父表格的idparent.layui.table.reload('demo');return true ;// 返回true表示提交數據,返回false表示不提交});});</script> </form> </body> </html>

修改操作要提交到后臺完成

@WebServlet("/UpdateServlet") public class UpdateServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");String userId = req.getParameter("userId");String userName = req.getParameter("userName");String userPwd = req.getParameter("userPwd");String imgName = req.getParameter("imgName");for(int i = 0; i< UserData.userList.size(); i++){String id = UserData.userList.get(i).getId() ;if(id.equals(userId)){UserData.userList.get(i).setName(userName);UserData.userList.get(i).setPassword(userPwd);UserData.userList.get(i).setImg(imgName);break;}}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }

總結

以上是生活随笔為你收集整理的Layui-经典模块化前端框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品久久久久永久免费看 | 日b视频在线观看网址 | av免费观看高清 | 天堂在线视频中文网 | 亚洲成人av片在线观看 | av中文字幕av | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲在线免费视频 | 色a在线观看 | 五月婷婷在线观看视频 | 91福利在线观看 | 国产婷婷色 | 日韩和的一区二在线 | 亚洲高清色综合 | 伊人首页| 成人中心免费视频 | 国产手机av | 国产精品一区二区果冻传媒 | 香蕉在线观看视频 | 日韩在线免费视频 | 99久久婷婷国产一区二区三区 | 五月婷婷亚洲 | 97成人在线观看视频 | 久草网视频在线观看 | 97av精品 | 亚洲最大的av网站 | 91精品国产91热久久久做人人 | 美国三级黄色大片 | 国产精品观看视频 | 天天操天天舔天天干 | 97国产精品 | 久久国产精品一二三区 | 婷婷激情五月综合 | 91麻豆精品 | 综合国产视频 | av大全在线免费观看 | 久久久69| 亚洲综合在线观看视频 | 国产亚洲一区二区在线观看 | 亚洲一区在线看 | 成人久久久久 | 91综合色| 又粗又长又大又爽又黄少妇毛片 | 日韩肉感妇bbwbbwbbw | 色网站黄 | a爱爱视频 | 97人人人人 | 免费视频a | 午夜精品久久久久久久99水蜜桃 | 色婷婷成人网 | 日韩小视频网站 | 欧美性生活免费看 | 探花视频免费在线观看 | 国产一区在线视频 | 成人一区影院 | 亚州av免费 | 国内精品视频免费 | 久久这里只有精品1 | 午夜久久久精品 | 久久久国产电影 | 国产69精品久久久久久久久久 | 一区二区精品久久 | 丁香五月亚洲综合在线 | 久久99精品久久久久蜜臀 | 日韩精品一区二区三区高清免费 | 亚洲精品免费观看视频 | 亚洲国产中文字幕在线 | 在线播放国产一区二区三区 | 91成人免费在线 | 成年人免费av | 激情综合网婷婷 | 草久在线视频 | 久久午夜免费视频 | 国产精品一区二区久久国产 | 久久久久免费网 | 国产区免费 | 丁香五月亚洲综合在线 | 亚洲一级片免费观看 | 偷拍精偷拍精品欧洲亚洲网站 | 人人爱人人爽 | 日韩成人av在线 | 超碰在线公开 | 国产免费一区二区三区网站免费 | 99精品国产99久久久久久福利 | 免费a网 | 国产精品大片在线观看 | 日韩精品不卡在线 | 丁香激情综合国产 | 日韩中文字幕第一页 | 亚洲国产精品传媒在线观看 | 亚洲狠狠婷婷综合久久久 | 中文字幕最新精品 | 久操中文字幕在线观看 | 香蕉视频最新网址 | 免费观看的黄色片 | 中文字幕在线观看视频网站 | 日韩激情视频 | 六月丁香久久 | 97在线观看免费观看高清 | 正在播放亚洲精品 | 国产精彩视频一区 | 亚洲精品一区二区网址 | 国产精品自拍在线 | 久久精品五月 | 五月婷婷av | 探花视频免费在线观看 | 久久久高清视频 | 在线观看日韩中文字幕 | 色中文字幕在线观看 | 国产黄色免费 | 精品在线观看一区二区 | 亚洲国产伊人 | 不卡中文字幕av | 91在线文字幕 | 日本三级吹潮在线 | 日韩高清在线观看 | 精品国产亚洲一区二区麻豆 | 午夜99| 人人插人人爱 | 又黄又爽又刺激视频 | 97综合视频 | 久久久久成人精品免费播放动漫 | 国产黄色一级片在线 | 91九色视频观看 | 天天射天天| 精品久久久久国产免费第一页 | 狠狠狠狠狠色综合 | 97精产国品一二三产区在线 | 98超碰在线观看 | 久久精品高清视频 | 久久66热这里只有精品 | 天天操福利视频 | 美国av大片 | 天天插综合网 | 亚洲男女精品 | 亚洲精品黄网站 | 亚洲精品国产成人av在线 | 天天操天天草 | 国产又粗又硬又爽视频 | 91日韩在线视频 | 久久精品5| 99精品偷拍视频一区二区三区 | 国产精品福利在线观看 | 香蕉网在线播放 | 久久永久视频 | 中文字幕在线成人 | 午夜国产一区二区三区四区 | 天天操天天射天天 | 国产69久久久欧美一级 | 久久草网 | 国产精品婷婷午夜在线观看 | 亚洲免费av在线播放 | 99日韩精品| 国产成人三级一区二区在线观看一 | 日韩免费视频线观看 | 精品九九久久 | 精品视频在线免费 | 日韩视频在线不卡 | 亚洲欧美精品在线 | 国产精品永久免费观看 | 久久精品视频免费观看 | 蜜桃视频在线观看一区 | 福利视频入口 | 人人干人人模 | www.天天色| 成人一级片免费看 | 久久精品一二区 | 亚洲欧洲一级 | 一区二区视频免费在线观看 | 久久人人97超碰国产公开结果 | 81精品国产乱码久久久久久 | 国产97视频| 久久久影院官网 | 国产视频日韩视频欧美视频 | 黄色大片免费播放 | 免费在线观看毛片网站 | 在线亚洲午夜片av大片 | 亚洲精品www. | 欧美精品免费在线观看 | 久久99欧美| 在线日韩一区 | 97视频网站| 69欧美视频 | 日韩在线看片 | 2019中文字幕网站 | 亚洲女同ⅹxx女同tv | 胖bbbb搡bbbb擦bbbb | 国产三级视频在线 | 亚洲一区二区视频在线播放 | 草在线 | 免费在线观看中文字幕 | 99热国产在线 | 欧美精品网站 | 色视频成人在线观看免 | 日本中文字幕电影在线免费观看 | 成人在线超碰 | 亚洲成人免费观看 | 国产高清视频免费在线观看 | 中文字幕在线视频一区二区 | 久久不射电影网 | 91 在线视频播放 | 亚洲久久视频 | 玖玖在线免费视频 | 91人人爽人人爽人人精88v | 奇米网网址| 日韩欧美大片免费观看 | 91av在线免费观看 | 日韩精品不卡在线 | 日韩av中文在线观看 | 午夜黄色影院 | 天天摸天天操天天舔 | 97色在线观看 | 日韩手机在线 | 婷婷激情在线 | 九九在线高清精品视频 | 中文在线a∨在线 | 成人手机在线视频 | 91九色网站| 九九热只有这里有精品 | a视频免费 | 欧美日韩视频精品 | 亚洲一区二区三区四区在线视频 | 日韩免费视频线观看 | 性色av一区二区三区在线观看 | 精品毛片在线 | 日本中文字幕网址 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 久久久久这里只有精品 | 亚洲黄色三级 | 色视频在线免费 | 国产精品99久久免费黑人 | 日日夜夜天天人人 | 在线之家免费在线观看电影 | 在线观看午夜av | 热久久精品在线 | 在线免费成人 | 在线亚洲观看 | 黄色大片日本 | www亚洲视频 | 日日夜夜精品免费观看 | 香蕉视频在线网站 | 国产97在线播放 | 精品久久久久久久久久久久 | 一级片视频在线 | 国产精品乱码久久 | 亚洲精品视频在 | 黄色网址a | 日产乱码一二三区别免费 | 欧美日韩超碰 | 免费在线色电影 | 免费视频二区 | 美女视频久久久 | 99精品视频在线看 | 久久伦理影院 | 久久久久国产一区二区 | 国产一级片一区二区三区 | 日韩在线视频网站 | 国内成人av | 欧美一级性生活视频 | 日韩av女优视频 | 午夜影院一级片 | 天天干天天做天天爱 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 国产成a人亚洲精v品在线观看 | 日韩午夜三级 | 婷婷久月| 色资源中文字幕 | 国产视频1区2区3区 久久夜视频 | 丁香5月婷婷久久 | 成人avav| 国产成人精品av在线观 | 国产一区国产精品 | 亚洲日本va午夜在线影院 | 日韩在线电影一区二区 | 五月婷社区 | 国产一区二区免费 | 91在线看网站 | 国产成人免费网站 | 亚洲年轻女教师毛茸茸 | 国产福利精品一区二区 | 亚洲欧美视频一区二区三区 | 精品二区视频 | 国产精品毛片完整版 | 五月开心婷婷 | 丰满少妇在线观看 | 五月婷视频 | 怡红院久久 | 在线免费观看视频一区 | 99产精品成人啪免费网站 | 狠狠干综合| 激情五月婷婷综合网 | 日韩免费专区 | 国产人成一区二区三区影院 | 国产黄在线免费观看 | 婷婷五月情 | 中文视频在线看 | 久久久久久久久久久久久国产精品 | 日本在线观看中文字幕 | 免费久久久久久 | www.香蕉视频 | 亚洲,播放 | 国产91在| 亚洲国产小视频在线观看 | 免费观看9x视频网站在线观看 | 干狠狠 | 五月婷婷综合在线视频 | 中文字幕av在线免费 | 93久久精品日日躁夜夜躁欧美 | 99在线精品视频 | 亚洲女同ⅹxx女同tv | 日本一区二区免费在线观看 | 欧美精品黑人性xxxx | 日日夜夜综合 | 正在播放一区二区 | 亚洲人片在线观看 | av大片免费在线观看 | 国内外成人免费在线视频 | 手机在线视频福利 | 国产在线国偷精品产拍 | 国内精品久久影院 | 97精产国品一二三产区在线 | 欧美 日韩 性 | 国产成人久久精品亚洲 | 日韩国产精品久久 | 91精品国产乱码 | 国产精品久久久久久久久免费 | 精品国产免费看 | 99精品视频99 | 国产免费大片 | 亚洲成人网在线 | 国产成人av电影在线 | 国产综合在线观看视频 | 91少妇精拍在线播放 | 天天色天天骑天天射 | 九色自拍视频 | 国产自在线 | 高清一区二区 | 亚洲天堂网站 | 天天艹日日干 | 成年人黄色免费视频 | 在线亚洲成人 | 91在线视频 | 国产精品一区免费看8c0m | 黄色大全视频 | 久久亚洲成人网 | 国产主播大尺度精品福利免费 | 六月丁香综合 | 500部大龄熟乱视频使用方法 | av电影免费在线看 | 久久理伦片 | 久热电影 | 精品久久久久久电影 | 久久精品精品电影网 | 国产成人在线免费观看 | 国产在线观看午夜 | 99精品福利视频 | 日韩欧美在线播放 | 国产99久久久国产精品成人免费 | 久久se视频 | 色人久久 | 91日本在线播放 | 91av在线电影| 在线播放亚洲激情 | 日韩最新av在线 | 亚洲精品乱码白浆高清久久久久久 | 国产一卡久久电影永久 | 亚洲一级久久 | 久久久国产影视 | 亚洲h在线播放在线观看h | 国产爽视频 | 中文字幕成人一区 | 欧美狠狠操 | 国产精品男女 | 亚洲一区二区精品 | 99re视频在线观看 | 国产免费观看久久黄 | 成人精品视频 | 久久影院精品 | 天天干天天草 | 国产大陆亚洲精品国产 | 欧美久久久久久久久久久久久 | 久草视频免费播放 | 日韩欧美高清一区二区三区 | 狠狠操操网 | 国产黄色片免费看 | 亚洲精品66| 江苏妇搡bbbb搡bbbb | 天天伊人狠狠 | 国产区av在线 | a爱爱视频 | 日韩中文字幕在线观看 | 国产一区二区在线精品 | 欧美激情精品久久久久 | www狠狠| 亚洲情婷婷 | 精品亚洲成a人在线观看 | 久久综合中文色婷婷 | 97在线观看免费高清完整版在线观看 | 在线免费观看国产 | 国产精品成久久久久 | 亚洲免费视频在线观看 | 欧美天堂视频在线 | 欧美日韩精品电影 | 国产视频一区二区在线观看 | 天堂av在线7 | 久久成人国产精品入口 | 97久久精品午夜一区二区 | 成人福利av | 国产亚洲激情视频在线 | 久久精品美女 | 国产成人在线观看 | 亚洲视频 视频在线 | 五月婷婷欧美视频 | aaa亚洲精品一二三区 | 日韩免费一区 | 免费日韩视 | 国产欧美在线一区二区三区 | 成年人电影免费在线观看 | 国产特级毛片aaaaaa高清 | 人人澡人人干 | 夜夜看av| 国产高清av免费在线观看 | 亚洲 欧洲av| 国产精品久久久久久久久久久久午 | 中文字幕韩在线第一页 | 五月花丁香婷婷 | 91大神精品视频 | 这里只有精品视频在线 | 日韩av一区二区三区四区 | 91麻豆精品国产自产在线 | av一区二区三区在线播放 | 国产婷婷在线观看 | 亚洲网站在线看 | 国产高清不卡在线 | 久久久久99精品成人片三人毛片 | 91精品在线观看入口 | 激情亚洲综合在线 | 又色又爽的网站 | 去干成人网 | 久久超级碰视频 | 99久久久国产精品免费观看 | 91色网址 | 亚洲精品视频在线免费播放 | 久久国产一区二区 | 三级av黄色| 97日日碰人人模人人澡分享吧 | 夜色资源网 | 国产麻豆精品传媒av国产下载 | 97色国产| 亚洲 中文字幕av | 免费精品国产 | 亚洲精品视频网址 | 99色| 天天草av| 免费网站观看www在线观看 | 欧美精品久久人人躁人人爽 | 中文字幕一区二区三区在线观看 | 在线观看国产高清视频 | 国产精品成人一区二区三区吃奶 | 久久午夜精品 | 成片免费观看视频大全 | 国产很黄很色的视频 | 午夜123| 日韩精品在线免费播放 | 精品视频在线视频 | 国产午夜三级一区二区三桃花影视 | 99午夜| 91污在线观看 | 欧美日韩免费网站 | 日韩av一卡二卡三卡 | 麻豆影视在线播放 | 亚洲第五色综合网 | 97超碰资源网 | 成人免费视频播放 | 蜜桃视频在线观看一区 | 91色视频 | 免费三级黄色 | 国产一区二区高清视频 | 夜夜爽天天爽 | 免费日韩一级片 | 91在线免费看片 | 91夫妻视频 | 天天干中文字幕 | 狠狠躁日日躁夜夜躁av | 天天操天天爽天天干 | 亚洲综合色网站 | 亚洲国产精品成人女人久久 | 天堂在线v | 四虎精品成人免费网站 | 国产亚洲一级高清 | aaa黄色毛片 | 亚洲精品久久久久中文字幕二区 | 99免费在线观看视频 | 久久超级碰视频 | 国产欧美精品一区二区三区四区 | 婷婷五天天在线视频 | 97福利在线观看 | 欧美日韩视频 | 国产精品初高中精品久久 | 在线高清 | 欧美一级日韩三级 | 成人a大片 | 国产一级片视频 | 精品99免费视频 | 中文字幕av在线 | 精品国产一区二区三区久久久蜜臀 | 久艹在线免费观看 | 天堂久色 | 黄色成年片| 九九九热精品免费视频观看网站 | 久久亚洲免费视频 | 日本中出在线观看 | 免费在线观看亚洲视频 | 久久人人爽 | 热re99久久精品国产66热 | 激情视频一区二区 | 99久久日韩精品免费热麻豆美女 | 亚洲精品在线观看视频 | 亚洲精品一区二区三区新线路 | 四虎亚洲精品 | 日韩专区一区二区 | 91精品久久久久久久久久久久久 | 国产成人三级在线播放 | 亚洲精品国产拍在线 | 色综合天天狠天天透天天伊人 | 成年人在线免费看视频 | 亚洲免费视频观看 | www.久久99 | 四虎在线免费观看视频 | 国产亚洲精品久久久久久久久久久久 | 天天骚夜夜操 | 国产精品夜夜夜一区二区三区尤 | 久久99国产精品久久99 | 麻豆91在线播放 | 中文字幕在线免费看 | 婷婷国产在线 | av电影在线观看完整版一区二区 | 国产精品一区二区av麻豆 | 88av视频| 欧美精品资源 | 精品久久久久久久久久岛国gif | 国产v亚洲v | 人人爱人人爽 | 久久字幕网 | 在线视频一区二区 | 麻豆91精品| 欧美国产精品久久久久久免费 | 色鬼综合网 | 91免费版成人 | 久久精品国产亚洲aⅴ | 99视频网站| 一区免费视频 | 国内精品中文字幕 | 国产视频网站在线观看 | 国产99一区二区 | 亚洲精品乱码久久久久久蜜桃动漫 | 日韩网站一区二区 | 亚洲尺码电影av久久 | 久青草视频 | 日韩精品久久中文字幕 | 国产精品18久久久 | 亚洲理论片在线观看 | 日韩视频在线不卡 | 国产精品日韩久久久久 | 在线免费av观看 | 久久99婷婷 | 日日夜夜天天人人 | 婷婷五天天在线视频 | 久久久综合 | 亚洲国产影院 | 九色一区二区 | 天天干天天操av | 久久久久欧美精品 | 免费日韩一区二区三区 | www..com黄色片| 久久撸在线视频 | 久久久香蕉视频 | 亚洲精品欧美精品 | 精品黄色在线 | 国产精品免费看久久久8精臀av | 女人18精品一区二区三区 | 在线免费观看视频你懂的 | 在线一区av | 一区二区三区在线影院 | 91黄色小网站 | 婷婷丁香av| 天天色天 | 午夜三级毛片 | 欧美日韩xx| 日韩黄色在线 | 一区二区三区免费在线观看视频 | 9色在线视频 | 992tv又爽又黄的免费视频 | 国产精品久久久久久久久久久久午 | 99精品免费在线 | 亚洲精品美女久久久久网站 | 在线观看免费国产小视频 | 日韩av不卡在线观看 | 中文十次啦 | 欧美污网站 | 午夜精品一区二区三区在线观看 | 99精品在线播放 | 日韩精品欧美专区 | 中文字幕传媒 | 午夜av免费观看 | 久久久久久黄色 | 最近中文国产在线视频 | 黄在线免费观看 | 人人爽人人插 | 成人一区二区在线 | 国产伦理一区二区三区 | 成人免费网站在线观看 | 天天干天天干天天射 | 日日躁你夜夜躁你av蜜 | 成人在线视频观看 | 欧美色图视频一区 | 国产精品乱码一区二区视频 | 国产亚洲高清视频 | 亚洲电影毛片 | 久久99热精品 | 五月激情片| 国产成人精品一区二 | 99视频在线精品国自产拍免费观看 | 亚洲经典视频 | 国产涩图 | 超碰激情在线 | 伊人狠狠干 | 免费日韩高清 | 最近更新好看的中文字幕 | 欧美91精品久久久久国产性生爱 | www.天天色| 国产青青青| 久久精品99国产精品 | 黄色亚洲精品 | 免费久久99精品国产 | 欧美久久久久久久久久久久 | 日韩乱色精品一区二区 | 久久伊人免费视频 | 美女视频黄的免费的 | 91九色蝌蚪视频在线 | 亚洲日韩中文字幕在线播放 | 人人干人人做 | 亚洲 欧美变态 另类 综合 | 91精品国产网站 | 久久午夜免费观看 | 亚洲91中文字幕无线码三区 | 激情伊人五月天久久综合 | 日韩电影一区二区在线 | 日本一区二区免费在线观看 | 中文视频在线播放 | 中文字幕av免费观看 | 久久99影院| 中文字幕一区二区在线播放 | 国产精品一区二区三区免费视频 | 国产区精品视频 | 国产网红在线观看 | 国产在线小视频 | 在线黄色av | 亚洲精品乱码久久久久久蜜桃欧美 | 在线亚州 | 五月婷激情 | 亚洲禁18久人片 | 国产亚州精品视频 | 在线 精品 国产 | 国产无区一区二区三麻豆 | 91麻豆视频网站 | 97天堂网| 欧美色精品天天在线观看视频 | 天天操夜操 | 日韩av中文字幕在线免费观看 | 欧产日产国产69 | 色婷婷久久一区二区 | 久草国产精品 | 久久久久久久久久久网 | 久草久草在线 | 国产精品自产拍在线观看桃花 | 日本3级在线观看 | 亚洲精品在线播放视频 | 国产露脸91国语对白 | 国产a级精品 | 五月天天av | 在线看片91| 精品久久久久久久 | 香蕉网在线| 国模精品一区二区三区 | 亚洲精品乱码久久久久久蜜桃不爽 | bayu135国产精品视频 | 国产美女视频网站 | 91黄色影视| 久久综合九色综合久久久精品综合 | 国产精品美女久久久久久久 | 精品99视频 | 欧美做受69| 最近高清中文在线字幕在线观看 | 亚洲三级毛片 | 99c视频在线| 四虎成人精品永久免费av | 国产一区国产精品 | 久草在线99 | 亚洲欧美国产视频 | 日本一区二区三区视频在线播放 | 又黄又爽又色无遮挡免费 | 欧美久久久久久久久久久 | 国产视频网站在线观看 | 色99久久 | 五月开心六月婷婷 | 国产一区高清在线 | 亚洲天堂免费视频 | 一区二区三区免费在线观看视频 | 九九热re| 一区二区视频在线播放 | 成人黄色电影在线 | 麻豆91精品视频 | 日韩在线观看网址 | 日韩美女高潮 | 日韩av中文在线观看 | 欧洲av不卡 | 黄污视频网站大全 | 五月天开心 | 欧美成人影音 | 成人国产精品免费观看 | 激情一区二区三区欧美 | 国产精品资源在线观看 | 久草视频免费在线播放 | 99产精品成人啪免费网站 | 91九色老 | 日韩欧美xxx | 国产欧美日韩视频 | 色就色,综合激情 | 岛国片在线 | 国产人成在线观看 | 中文字幕日韩高清 | 中文字幕精品一区二区精品 | 国产成人精品av在线观 | 久久综合九色99 | 久碰视频在线观看 | 91伊人久久大香线蕉蜜芽人口 | 91视频免费视频 | 香蕉网在线观看 | 久久av影视 | 精品字幕在线 | 亚洲综合成人婷婷小说 | 日韩在线视频免费观看 | 五月婷婷中文 | www天天干 | 成人h电影在线观看 | 免费视频一区 | 97超碰人人澡人人爱学生 | 天天干天天操人体 | 精品免费国产一区二区三区四区 | 国产99久久九九精品 | 亚洲欧美国产日韩在线观看 | 亚洲片在线资源 | 美女黄久久 | 免费在线国产 | 蜜桃av综合网 | 在线观看va | 欧美日韩午夜爽爽 | 亚洲欧洲国产视频 | 久久免费视频6 | 亚洲精品女人久久久 | www久久 | 午夜影院日本 | 黄色小说免费在线观看 | 国产成人三级在线 | 中文一区二区三区在线观看 | 国产伦理久久精品久久久久_ | 97成人啪啪网 | 国产在线精品福利 | 免费三级骚| 亚洲精品美女在线观看播放 | 中文字幕在线字幕中文 | 天天操综合网站 | 狠狠躁日日躁狂躁夜夜躁 | 欧美激情精品久久久久久 | 97免费视频在线播放 | 色噜噜狠狠狠狠色综合久不 | 麻豆免费看片 | 日韩国产欧美在线播放 | 久久不卡电影 | 日韩精品资源 | 成 人 黄 色 免费播放 | 免费看片亚洲 | www.色爱| 久草免费新视频 | 久草综合视频 | 午夜在线免费观看视频 | 国产精品九九热 | 992tv人人网tv亚洲精品 | 天天操天天操一操 | 精品一区在线 | 夜夜躁日日躁 | 99激情网 | 国产精品网站 | 久久久久亚洲精品 | 区一区二在线 | 99热在线观看免费 | 色资源网免费观看视频 | 麻豆首页 | 天天天天天干 | 久久爱992xxoo | 午夜在线免费视频 | 色a综合 | 插婷婷 | 婷婷久久国产 | 国产精品永久在线观看 | www好男人 | 久久开心激情 | 久久久久综合 | 国产亚州精品视频 | 午夜精品电影 | 亚洲天堂自拍视频 | 欧美性久久久 | 在线观看视频一区二区 | 国产亚洲一区 | 岛国av在线不卡 | 亚洲久在线 | 国产精久久久久久妇女av | 99精品视频在线免费观看 | 91精品久久久久久久99蜜桃 | 国产裸体无遮挡 | 婷婷色在线播放 | 在线免费试看 | 最新av网址在线 | 日韩在线视频一区 | 美女久久精品 | 五月天综合网站 | 精品字幕在线 | 久久精品亚洲综合专区 | 色综合小说 | 国产精品久久久久久久久搜平片 | 日韩在线小视频 | 天堂av免费观看 | 91在线看 | 69精品人人人人 | av高清免费在线 | 亚洲无吗天堂 | 五月综合激情 | 久久歪歪 | 色天天久久 | 欧洲色吧 | 91精品国产三级a在线观看 | 国产一区二区观看 | av电影不卡 | 日日夜夜噜噜噜 | 亚洲经典中文字幕 | 成人黄色小说网 | 中文字幕免费高 | 中文字幕在线播出 | 草草草影院 | 国产高清黄 | 91大神免费视频 | 免费av片在线| 欧美激情操| 美女视频永久黄网站免费观看国产 | 韩国av一区二区三区在线观看 | 福利视频区 | 999久久久久| 久久精品—区二区三区 | 日韩视频一区二区在线 | 国产一级在线观看 | 在线播放av网址 | 精品女同一区二区三区在线观看 | 亚洲国产精品999 | 精品久久电影 | 免费看精品久久片 | 午夜久草 | 亚洲精品xxx | 狠狠色伊人亚洲综合网站野外 | av在线播放一区二区三区 | 国产成人一区二区三区影院在线 | 久草爱视频 | 2024国产精品视频 | 天天做天天爱天天爽综合网 | 亚洲草视频| 91色九色 | 91成人免费视频 | 久久精品永久免费 | 欧美精品做受xxx性少妇 | 午夜视频在线观看一区二区三区 | 久久久久久久国产精品影院 | 少妇视频在线播放 | 美女视频黄频大全免费 | 97热久久免费频精品99 | 少妇性xxx | 五月婷婷激情综合 | 国产欧美综合在线观看 | 国产精品一区二区在线免费观看 | 久产久精国产品 | 国产一级淫片在线观看 | 五月婷婷激情综合 | 四虎www | 18久久久久久 | 国产精品婷婷午夜在线观看 | 激情综合五月 | 日本丶国产丶欧美色综合 | 91热视频 | 国产视频不卡一区 | 日本三级久久 | 97在线视频免费看 | 国产在线观看 | 色综合天天爱 | 亚洲精品在线资源 | www.天天色 | 国产亚洲欧洲 | 亚洲精品视频在线免费播放 | 日韩久久午夜一级啪啪 | 日韩午夜视频在线观看 | 精品高清视频 | 久久在现| 91超碰在线播放 | 奇米先锋 | 亚洲黄网址 | 久久一线 | 九九九九精品 | 视频在线日韩 | 99热超碰在线 | 一级片视频免费观看 | 欧美日韩中文在线视频 | 日韩电影在线一区二区 | 超碰97网站 | 国产亚洲综合性久久久影院 | x99av成人免费 | 91高清免费 | av免费网站观看 | 激情丁香综合五月 | 国产一区二区在线免费播放 | 综合色在线| 国产看片网站 | 日韩精品免费一区二区在线观看 | 久久久精品亚洲 | 日批视频在线 | 免费网站黄色 | 精品在线二区 | 91成人在线观看喷潮 | 中文字幕在线观看国产 | 久久久久久国产精品 | 九九九九色 | 国产精品一区一区三区 | 免费观看国产精品 | 天天操天天操天天操 | 中文字幕一区二区三区四区 | 探花视频在线版播放免费观看 | 中文字幕久久精品一区 | 免费裸体视频网 | 粉嫩一区二区三区粉嫩91 | 国产精品一区二区麻豆 | 久久电影中文字幕视频 | 国产精品成人品 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 一区二区三区在线看 | 麻豆久久久 | 午夜av免费看 | 91黄色在线观看 | 黄色毛片在线观看 | 青青河边草观看完整版高清 | 国产精品黑丝在线观看 | 国产精品成人久久久久久久 | 激情综合网色播五月 | 国产999免费视频 | www中文在线 | 国产视频二区三区 | 99久久电影 | 免费亚洲婷婷 | 成片免费| 精品国内自产拍在线观看视频 | 日韩精品在线视频免费观看 | 久久久九色精品国产一区二区三区 | 午夜久久影视 | 中文字幕免费高 | 久久久国产一区二区 | 天堂av在线网站 | 丁香六月在线观看 | 亚洲永久精品在线 | 久久精品一区二区三区中文字幕 | 国产精品视频区 | 2019中文字幕第一页 | 中文av日韩| 午夜视频免费在线观看 | 久久,天天综合 | 久操综合| 日本夜夜草视频网站 | 国产精品99久久久久久人免费 | 国产大尺度视频 | 去看片| av不卡中文字幕 | 麻豆视频免费入口 | 久久久av免费| 国产一级视频免费看 | 国产午夜精品一区二区三区欧美 | 91九色蝌蚪视频网站 | 91传媒在线播放 | 国产精品成人免费精品自在线观看 | 在线观看91网站 | 天天爱天天舔 | avhd高清在线谜片 | 天天做天天射 | 久久免费播放视频 |