解决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 相关文章推荐
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
Aug 19 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
jquery选择器简述
Aug 31 Javascript
利用原生JS自动生成文章标题树的实例
Aug 22 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
Bootstrap php制作动态分页标签
Dec 23 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
May 02 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
vue.js轮播图组件使用方法详解
Jul 03 Javascript
vue实现日历表格(element-ui)
Sep 24 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 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基于str_pad实现卡号不足位数自动补0的方法
2014/11/12 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
js不是基础的基础
2006/12/24 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
vue实现列表的添加点击
2016/12/29 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
视觉直观感受若干常用排序算法
2017/04/13 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
django 中的聚合函数,分组函数,F 查询,Q查询
2019/07/25 Python
如何一键升级Python所有包
2020/11/05 Python
python 模拟登陆github的示例
2020/12/04 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
翻译专业应届生求职信
2013/11/23 职场文书
毕业证代领委托书
2014/09/26 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
创建文明城市倡议书
2015/04/28 职场文书
九年级历史教学反思
2016/02/19 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL