js将函数保存在变量中

9 篇文章 0 订阅
6 篇文章 0 订阅
var nexted, pageed;

function initLayuiFlow(){
		layui.flow.load({
		elem 				: '.layui-timeline',
		scrollElem   : '.layui-timeline',
		done : function(page, next) {
			nexted = next;    //next是一个函数,将其保存在全局变量中
			pageed = page;
			$.get(path + '/bg/musicRecord/init',{pageNum:page}, function(dataJson) {
				if(!dataJson.state){ return layer.msg(dataJson.msg);}
				insertElements(dataJson.dataList,  dataJson.total);
			});
		}
	});
}

/**
 * 动态插入元素
 */
function insertElements(data, total){
	layui.each(data, function(index, item) {
		var curred = $.parseDate(data[index].createtime,'yyyy-MM-dd');
		var nexted = index == data.length-1 ? null :$.parseDate(data[index+1].createtime,'yyyy-MM-dd');
		if(curred != nexted){
			var lis = '<li class="layui-timeline-item">', text = $('.layui-timeline li:last h3').text();
					if (curred != text) {
						lis += '<i class="layui-icon layui-timeline-axis">&#xe63f;</i>';
					}
						lis += '<div class="layui-timeline-content layui-text">';
					if (curred != text) {
						lis += '<h3 class="layui-timeline-title"><i class="layui-icon layui-icon-log"></i>'+ curred+ '</h3>';
					}
			layui.each(data, function(index, item) {
				if(curred == $.parseDate(data[index].createtime,'yyyy-MM-dd')){
					lis += '<p class="item-music">';
					lis += '	<span>';
					lis += '		<a>'+data[index].pmName+'</a>';
					lis += '		<a>'+$.parseDate(data[index].createtime,"yyyy-MM-dd hh:mm:ss")+'</a>';
					lis += '		<a>试听记录</a>';
					lis += '</span>';
					lis += '</p>';
				}
			});
			lis += '</div>';
			lis += '</li>';


			nexted(lis, pageed < total);    //调用刚刚保存的全局函数
		}
	});
}

运行结果

 

 

正确做法

var flows = {};    //将变量改为引用类型

function initLayuiFlow(){
		layui.flow.load({
		elem 				: '.layui-timeline',
		scrollElem   : '.layui-timeline',
		done : function(page, next) {
			flows.page = page;
			flows.next = next;    //同样将函数保存在全局引用变量当中
			$.get(path + '/bg/musicRecord/init',{pageNum:page}, function(dataJson) {
				if(!dataJson.state){ return layer.msg(dataJson.msg);}
				insertElements(dataJson.dataList,  dataJson.total);
			});
		}
	});
}



function insertElements(data, total){
	layui.each(data, function(index, item) {
		var curred = $.parseDate(data[index].createtime,'yyyy-MM-dd');
		var nexted = index == data.length-1 ? null :$.parseDate(data[index+1].createtime,'yyyy-MM-dd');
		if(curred != nexted){
			var lis = '<li class="layui-timeline-item">', text = $('.layui-timeline li:last h3').text();
					if (curred != text) {
						lis += '<i class="layui-icon layui-timeline-axis">&#xe63f;</i>';
					}
						lis += '<div class="layui-timeline-content layui-text">';
					if (curred != text) {
						lis += '<h3 class="layui-timeline-title"><i class="layui-icon layui-icon-log"></i>'+ curred+ '</h3>';
					}
			layui.each(data, function(index, item) {
				if(curred == $.parseDate(data[index].createtime,'yyyy-MM-dd')){
					lis += '<p class="item-music">';
					lis += '	<span>';
					lis += '		<a>'+data[index].pmName+'</a>';
					lis += '		<a>'+$.parseDate(data[index].createtime,"yyyy-MM-dd hh:mm:ss")+'</a>';
					lis += '		<a>试听记录</a>';
					lis += '</span>';
					lis += '</p>';
				}
			});
			lis += '</div>';
			lis += '</li>';


			flows.next(lis, flows.page < total);    //调用保存的全局函数
		}
	});
}

运行结果(成功调用)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值