最近在项目上用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");
    }
  });
第二点的问题处理不仅实现了左右两侧点击后能自适应,跟之前的效果完美贴合,不需要过多代码处理,哈哈哈哈哈哈哈哈哈哈
@
@
@
@
@
写作不易,记录遇到点滴,有问题可以一起交流,欢迎留言,,,,,不足之处,提出意见,共同进步!!!!!!

layui菜单点击刷新,自适应的更多相关文章

  1. Maven问题总结:Eclipse中项目右键菜单中点击Maven->Update Projects时JDK被重置

    Eclipse中在项目右键菜单点击->Maven->Update Projects时,JDK总是切回 1.5 如果没有在Maven中配置过JDK版本,只是在Eclipse中项目的Prope ...

  2. jQuery实现菜单点击隐藏(上下左右)

    canrun <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  3. 利用onekeyup即可实现验证码的点击刷新功能

    显示验证码 首先在Home/Controller下创建一个公共控制器PublicController 1 <php2 namespace Home\Controller;3 4 use Thin ...

  4. J2EE如何生成验证码图片和点击刷新验证码

    验证码图片生成步骤 创建BufferedImage对象. 获取BufferedImage的画笔,即调用getGraphics()方法获取Graphics对象. 调用Graphics对象的setColo ...

  5. ThinkPHP 实现验证码渲染、校验、点击刷新

    一.在控制器中写方法,生成验证码,代码如下: /** * 验证码生成 * expire 验证码的有效期(秒) * useImgBg 是否使用背景图片 默认为false * fontSize 验证码字体 ...

  6. Thinkphp5 captcha扩展包安装,验证码验证以及点击刷新

    首先下载 captcha扩展包,↓ 下载附件,解压到vendor目录下: 然后进入application/config.php添加配置信息: //验证码       'captcha'  =>  ...

  7. Thinkphp 验证码点击刷新解决办法

    HTML代码如下: <span> <input type="text" name="code" placeholder="验证码&q ...

  8. [oldboy-django][2深入django]点击刷新验证码

    # 点击更新验证码,只要重新在发送一个请求即可 <img src="/check_code/" onclick="updateCode(this);" w ...

  9. thinkphp3.2 验证码生成和点击刷新验证码

    生成验证码的时候: public function verify_c(){ $Verify = new \Think\Verify(); $Verify->fontSize = 18; $Ver ...

随机推荐

  1. 使用 Junit + Mockito 实践单元测试

    一.前言 相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试... @SpringBootTest @RunWith(SpringRunner.class) publi ...

  2. Linux安全实验缓冲区溢出

    缓冲区溢出实验: 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关 ...

  3. EVE模拟器的配置

    (注:本文整理自达叔的EVE模拟器使用说明https://blog.51cto.com/dashu666/1971728) 基础部署篇 所需要准备的东西: 1.VMWare (虚拟化软件,用来承载模拟 ...

  4. [Windows] 如何通过 mount point 找到对应的 VHD 文件

    假设有一个 Virtual Disk(VHD) 文件.已经 online --> attach --> mount. 知道 mount 的文件夹,要找到 .vhd 文件.可以用如下方法: ...

  5. 热门云服务超87GB电子邮箱和密码泄露,黑客已验证大部分数据

    热门云存储服务Mega被曝发现超87GB电子邮件地址和密码泄露(源数据目前已被删除,但已流传到个别黑客网站),其中包含近7.73亿电子邮件地址和2200万密码. 近日,国外一名安全研究人员Troy H ...

  6. 从Webpack源码探究打包流程,萌新也能看懂~

    简介 上一篇讲述了如何理解tapable这个钩子机制,因为这个是webpack程序的灵魂.虽然钩子机制很灵活,而然却变成了我们读懂webpack道路上的阻碍.每当webpack运行起来的时候,我的心态 ...

  7. python-圆周率的计算【random库的应用】

    圆周率的计算 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪ ...

  8. 消息队列,RabbitMQ、Kafka、RocketMQ

    目录 1.消息列队概述 1.1消息队列MQ 1.2AMQP和JMS 1.2.1AMQP 1.2.2JMS 1.2.3AMOP 与 JMS 区别 1.3消息队列产品 1.3.1 Kafka 1.3.2 ...

  9. Cordova 浅析架构的原理

    因为项目使用了Cordova,也使用了很长时间.至于有很多hybride框架,为什么我们使用Cordova,这里不做过多的叙述,我们也是根据项目需求来选定的,需要及时更新.还要输出别人SDK等.没有最 ...

  10. 多线程高并发编程(8) -- Fork/Join源码分析

    一.概念 Fork/Join就是将一个大任务分解(fork)成许多个独立的小任务,然后多线程并行去处理这些小任务,每个小任务处理完得到结果再进行合并(join)得到最终的结果. 流程:任务继承Recu ...