layui菜單點擊刷新,自適應


最近在項目上用layui框架后台iframe版,遇到的一些問題分享:

1.項目的左側菜單點擊對應的子菜單能自動刷新問題。

2.除了在左側有菜單,還需要在右側需要一個菜單(跳轉到新頁面),並且能夠伸縮自適應。

基於以上兩個點:先簡單的畫個草圖(場景)

直接用layui的模板是不符合項目需求的。現在先回答第一個問題的處理:

之前在網上看到對於左側菜單刷新問題都是不符合:

eg:layui的底層js,一般就是admin.js里面找到tabChange方法去處理,試了沒找到,直接跳過。百度上可以自行查找很多,這里就不一 一說明。以下只是針對自己在項目上遇到的問題處理方案

用到的layui.js版本:layui-v2.4.3 。

1.對於刷新問題,可以在對應的官方文檔中找到:利用element.on()可以監聽導航事件,在callback中處理自己相關的業務既可。

 

 2.需要在右側添加一個菜單,開始的思路:直接給主體內容和右側菜單賦予一定比例的百分比,通過js去控制切換,嘗試后左右兩側點擊操作后不能自適應屏幕,不行在換一思路,不服就干。繼續干,,,,

查找后還是無果,咋辦呢,項目需要,不另想辦法處理是不行的啦。。。。。。

最后只能是出大招了。。。。。。。!!!!!!!!!

請看官方的demo是這樣的

 

 我稍作修改,就可以自適應啦

 

 

 在右側菜單你可能需要做一個伸縮的功能,可能會遇到一個坑:layui 中點擊切換伸縮,有時候會無效的問題。

無效問題:

//使用此點擊事件失效
$(".類名").on('click', function() {
    alert('響應點擊事件');
});
//將指定的事件綁定在document上,而新產生的元素如果符合指定的元素,那就觸發此事件
 $(document).on('click', '.類名',function () {
   點擊后需要做什么,添加class或者其他
    if(條件){ // 判斷了是否展開了?還是收起了?
      // 存在進行的操作
    ....
    } else {
     // 不存在該干嘛
  .....
    }
  });

右側菜單的其他就不貼出,貼出點擊例子:

 $(document).on('click', '.shrinkage',function () {
    $(".right-nav").toggleClass("lvc-close");
    $(".right-side-menu").toggleClass("small-ul");

    if($("#lvc-nav").hasClass('lvc-close')){
      $(".layui-layout-admin .layui-body ").css("right","50px");
      $(".right-nav").css("width","49px");
    } else {
      $(".layui-layout-admin .layui-body ").css("right","150px");
      $(".right-nav").css("width","115px");
    }
  });
第二點的問題處理不僅實現了左右兩側點擊后能自適應,跟之前的效果完美貼合,不需要過多代碼處理,哈哈哈哈哈哈哈哈哈哈
@
@
@
@
@
寫作不易,記錄遇到點滴,有問題可以一起交流,歡迎留言,,,,,不足之處,提出意見,共同進步!!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM