1. 程式人生 > >Layui前端框架導航欄使用介紹

Layui前端框架導航欄使用介紹

               

LayUI介紹

Layui 是一款採用自身模組規範編寫的國產前端UI框架,遵循原生HTML/CSS/JS的書寫與組織形式,她更多是為服務端程式設計師量身定做,你無需涉足各種前端工具的複雜配置,只需面對瀏覽器本身,讓一切你所需要的元素與互動、從這裡信手拈來。

LayUI優點

由於開發專案必須要在IE8上支援,選擇LayUI前端UI框架,Layui相容除IE6/7以外的全部瀏覽器,並且多數結構支援響應式。

LayUI獲取方式

下載後你可以看到layUI的目錄結構如下,直接複製layui目錄到的專案中即可。

  1.     ├─css //css目錄
  2.     │  └─modules //模組css目錄(一般如果模組相對較大,我們會單獨提取)
  3.     │      ├─laydate
  4.     │      ├─layer
  5.     │      │  └─default
  6.     │      └─layim
  7.     │          └─skin
  8.     ├─font  //字型圖示目錄
  9.     ├─images //圖片資源目錄(一些表情等)
  10.     │  └─face
  11.     └─lay //JS目錄
  12.         ├─dest //經過合併的完整模組
  13.         └─modules //各模組/元件
LayUI使用

需要引入layui的js和css檔案,引入方式如下:

<!-- layoutui -->

<linkrel="stylesheet"href

="<%=realPath%>/layui/css/layui.css"media="all">

<scriptsrc="<%=realPath%>/layui/layui.js"></script>

LayUI導航欄的使用

注意點:假如引入layui.js而不是layui.all.js時需要在<script></script>標籤中引入

layui.use('element', function(){

    var element = layui.element();

    }); 

程式碼,類似於載入layui模組的元素才能正常使用導航欄。

1.在<script></script>標籤中定義導航欄的結構如下:

        var checkManageTree = [

               {

             name: "產品",

             alias:"產品",

               href:"",

              state:{

            selected:isCurrent("產品",false)

        }

               },

               {

             name: "供方",

             alias:"供方",

               href:"",

              state:{

            selected:isCurrent("供方",false)

        }

                }];

2.定義新增導航的導航欄的div如下:

<!-- 左側導航 -->

<divid="left"class="site-text"lay-filter="left-div">

</div>

3.通過id獲取div標籤初始化導航欄檢視,getHtml()方法負責根據程式碼動態生成導航欄檢視

  $('#left').html(getHtml(checkManageTree));

    4.getHtml()方法的實現,通過動態建立導航欄可以減少重複程式碼,只需要定義json的格式的導航欄即可

/**

    * 獲取html字串

    * @param {Object} data

    */

    function getHtml(data) {

var ulHtml ='<ul class="layui-nav layui-nav-tree" id="leftMenuUl">';

        for (var i = 0; i < data.length; i++) {

            if (data[i].spread !== undefined &&data[i].spread) {

                ulHtml +='<li class="layui-nav-item layui-nav-itemed">';

            } else {

            if(data[i].state.selected !== undefined && data[i].state.selected){

            ulHtml += '<li class="layui-nav-item layui-this">';

            }else

            ulHtml += '<li class="layui-nav-item">';

            }

            }

            if (data[i].children !== undefined && data[i].children !==null && data[i].children.length > 0) {

                ulHtml += '<a href="javascript:;">';

                if (data[i].icon !== undefined && data[i].icon !== '') {

                    if (data[i].icon.indexOf('fa-') !== -1) {

                        ulHtml += '<i class="fa ' + data[i].icon + '" aria-hidden="true" data-icon="' + data[i].icon +'"></i>';

                    } else {

                        ulHtml += '<i class="layui-icon" data-icon="' + data[i].icon + '">' + data[i].icon + '</i>';

                    }

                }

                ulHtml += '<cite>' + data[i].name + '</cite>'

/*  ulHtml +='<span class="layui-nav-more"></span>'  */

                ulHtml += '</a>';

                ulHtml +='<dl class="layui-nav-child">'

                for (var j = 0; j < data[i].children.length; j++) {

                if(data[i].children[j].state.selected){

                ulHtml += '<dd title="' + data[i].children[j].name +'"'+'class="layui-this"' +'>';

                }else{

                ulHtml += '<dd title="' + data[i].children[j].name +'">';

                }

/* ulHtml += '<a href="javascript:;" data-url="' + data[i].children[j].href + '">'; */

                    ulHtml += '<a href="'+data[i].children[j].href+'">';

                    if (data[i].children[j].icon !== undefined && data[i].children[j].icon !=='') {

                        if (data[i].children[j].icon.indexOf('fa-') !== -1) {

                            ulHtml += '<i class="fa ' + data[i].children[j].icon + '" data-icon="' + data[i].children[j].icon +'" aria-hidden="true"></i>';

                        } else {

                            ulHtml += '<i class="layui-icon" data-icon="' + data[i].children[j].icon + '">' + data[i].children[j].icon + '</i>';

                        }

                    }

                    ulHtml += '<cite>' + data[i].children[j].name + '</cite>';

                    ulHtml += '</a>';

                    ulHtml += '</dd>';

                }

                ulHtml += '</dl>';

            } else {

/* var dataUrl = (data[i].href !== undefined && data[i].href !== '') ? 'data-url="' + data[i].href + '"' : '';

                ulHtml += '<a href="javascript:;" ' + dataUrl + '>'; */

                var dataUrl =  (data[i].href !== undefined && data[i].href !== '') ? data[i].href  : '';

                ulHtml += '<a href="'+dataUrl+'">';

                if (data[i].icon !== undefined && data[i].icon !== '') {

                    if (data[i].icon.indexOf('fa-') !== -1) {

                        ulHtml += '<i class="fa ' + data[i].icon + '" aria-hidden="true" data-icon="' + data[i].icon +'"></i>';

                    } else {

                        ulHtml += '<i class="layui-icon" data-icon="' + data[i].icon + '">' + data[i].icon + '</i>';

                    }

                }

                ulHtml += '<cite>' + data[i].name + '</cite>'

                ulHtml += '</a>';

            }

            ulHtml += '</li>';

        }

        ulHtml += '</ul>';

        return ulHtml;

    }