解决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 相关文章推荐
些很实用且必用的小脚本代码
Jun 26 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
jquery插件制作 手风琴Panel效果实现
Aug 17 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
Aug 08 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
jquery插件开发模式实例详解
Jul 20 jQuery
Selenium执行Javascript脚本参数及返回值过程详解
Apr 01 Javascript
原生javascript如何实现共享onload事件
Jul 03 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
第1次亲密接触PHP5(1)
2006/10/09 PHP
discuz Passport 通行证 整合笔记
2008/06/30 PHP
需要发散思维学习PHP
2009/06/29 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
Yii中的relations数据关联查询及统计功能用法详解
2016/07/14 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
超级强大的表单验证
2006/06/26 Javascript
禁止F5等快捷键的JS代码
2007/03/06 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
jQuery模拟新浪微博首页滚动效果的方法
2015/03/11 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
解析Python中的二进制位运算符
2015/05/13 Python
Python操作MongoDB详解及实例
2017/05/18 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
2018/09/17 Python
python中pika模块问题的深入探究
2018/10/13 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
业绩考核岗位职责
2014/02/01 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
科学育儿宣传标语
2014/10/08 职场文书
2014年度个人总结范文
2015/03/09 职场文书
2016中秋节广告语
2016/01/28 职场文书