解决layui轮播图有数据不显示的情况


Posted in Javascript onSeptember 16, 2019

最近接触了一个项目,要实现一个轮播图的功能,因为是在原有的项目上进行二次开发,项目前端用的是layui框架,楼主是后台方向,没怎么接触过前端,在用layui实现轮播图时,发现异步从后台获取数据,但是轮播图片不显示,显示如下:

解决layui轮播图有数据不显示的情况

用浏览器调试发现,<div carousel-item="">下面已经有几个<div>了,说明是有数据的。那怎么不显示呢?后来发现是在获取数据之前,页面已经初始化了,当然不能显示啦,这是时候需要在获取数据填充html时,回调reload(options)方法。

先贴上HTML代码:

<div class="layui-carousel" id="test1" lay-filter="test1">
 <div carousel-item="">
  <script id="charts" type="text/html">
    这里是动态遍历的代码
  </script>
 </div>
</div>

获取数据代码的反例示例:

layui.use('carousel', function(){
 var carousel = layui.carousel;
 //建造实例
 carousel.render({
  elem: '#test1'
  ,width: '100%' //设置容器宽度
  ,arrow: 'always' //始终显示箭头
  //,anim: 'updown' //切换动画方式
 });
 
 //这里是用jQuery异步获取数据的大致代码
 $.get("请求的URL",function (data) {
      var tpl = $("#charts").html();
      laytpl(tpl).render(data,function (html) {
        $("#test1").children('div').html(html);
      });
    });
});

解决问题的代码示例:

layui.use('carousel', function(){
 var carousel = layui.carousel;
 //建造实例
 var ins = carousel.render({
  elem: '#test1'
  ,width: '100%' //设置容器宽度
  ,arrow: 'always' //始终显示箭头
  //,anim: 'updown' //切换动画方式
 });
 
 //这里是用jQuery异步获取数据的大致代码
 $.get("请求的URL",function (data) {
      var tpl = $("#charts").html();
      laytpl(tpl).render(data,function (html) {
        $("#test1").children('div').html(html);
        //下面这步很重要
         ins.reload({elem: '#test1'});//重置轮播图
      });
    });
});

至于为啥用

$("#test1").children('div').html(html);

因为<div carousel-item="">加idname会报错,所以没用下面这种方式填充html

$("#idname").html(html);

以上这篇解决layui轮播图有数据不显示的情况就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
Apr 02 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
mui back 返回刷新页面的实例
Dec 06 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 Javascript
Vue 实现前端权限控制的示例代码
Jul 09 Javascript
使用layer弹窗提交表单时判断表单是否输入为空的例子
Sep 26 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 Javascript
在Vue中获取自定义属性方法:data-id的实例
Sep 09 Javascript
基于layui轮播图满屏是高度自适应的解决方法
Sep 16 #Javascript
关于Layui Table隐藏列问题
Sep 16 #Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
Sep 16 #Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 #Javascript
解决微信小程序中的滚动穿透问题
Sep 16 #Javascript
微信小程序左滑删除实现代码实例
Sep 16 #Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 #Javascript
You might like
PHP 实用代码收集
2010/01/22 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
php中使用GD库做验证码
2016/03/31 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
2020/07/31 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
python使用pyhook监控键盘并实现切换歌曲的功能
2014/07/18 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
2019/06/14 Python
Python如何实现动态数组
2019/11/02 Python
python的slice notation的特殊用法详解
2019/12/27 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
python 解决函数返回return的问题
2020/12/05 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
网络技术支持面试题
2013/04/22 面试题
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
承诺书范文
2014/06/03 职场文书
办公室文员岗位职责
2015/02/04 职场文书
公诉意见书范文
2015/06/05 职场文书
教学反思怎么写
2016/02/24 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
使用HttpSessionListener监听器实战
2022/03/17 Java/Android