underscore 的template 的魔板引擎

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="utf-8">
</head>
<style type="text/css">
	*{
          margin: 0;
          padding: 0;
        }
        body{
          background-color: #ccc;
        }
        .waterfall{
            width: 790px;
            margin: 0 auto;
            position: relative;
        }
        .box{
            position: absolute;
            width: 230px;
            background-color: #fff;
            padding: 10px;
        }
        .box img{
          width: 230px;
          height: 375px;
        }
</style>
<body>	
	<div class="waterfall">
		
	</div>

</body>
<script type="text/templete" id="templete">
    <div class="box">
        <img src="<%= img %>" alt="">
        <div>
           <p><%= hero_name %></p>
        </div>
        <div><p>英雄:<%= hero_title %></p></div>
        <div><p>技能属性: <%= atk_range %></p></div>
        <div><p>英雄描述:<%= hero_desc %></p></div>
    </div>
  </script>
  <script charset="utf-8"src="js/jquery.min.js"></script>
  <script charset="utf-8"src="js/underscore.js"></script>
<script type="text/javascript">

	var colarr = [0,0,0];
	var width = 270;
	var page = 1;
	var pre_page = 10;	
	var flag = true;
	// $(".box").each(function(index,value){
	// 	// console.log(_.min(colarr));
	// 	var minvalue = _.min(colarr);
	// 	var minIndex = _.indexOf(colarr,minvalue);
	// 	console.log(minIndex*width);
	// 	colarr[minIndex] +=$(this).outerHeight()+30;
	// 	$(this).css({
	// 		"left":minIndex*width,
	// 		"top" :minvalue
	// 	})
	// });
	var templeteStr = $("#templete").html();
	var tempStr = _.template(templeteStr);
	var countHero = 84;
	function getPage(page,pre_page){
		$.ajax({
			url:"api/hero.php",
			data:{page:page,pre_page:pre_page},
			success:function(data){
				flag = false;
				var data = JSON.parse(data);
				var obj = data.hero;
				if ( page >= (countHero / pre_page )-2) {
                              flag = true;
                        }
				$.each(obj,function(index,value){
					var heroStr = tempStr(value);
					// console.log(heroStr);
					var   objdom = $(heroStr);
					$(".waterfall").append(objdom);
					var minvalue = _.min(colarr);
					var minIndex = _.indexOf(colarr,minvalue);
					// console.log(minIndex*width);
					colarr[minIndex] +=$(objdom).outerHeight()+30;
					objdom.css({
						"left":minIndex*width,
						"top" :minvalue
					})
				})
			}
		})
	}
	getPage(page,pre_page);
	$(window).scroll(function(event){
		// console.log( $(document).height());
		// console.log( $(window).height());
		// console.log( $(document).scrollTop())
		console.log(flag);
		if ($(window).scrollTop() >= $(document).height() - $(window).height()-100) {
			if (!flag) {
				page++;
				getPage(page,pre_page);
				console.log("haha")
				flag = true;
			}
			
		}
	})
</script>
</html>

以上的是一个瀑布流的代码  其中用到了underscore  的template 的内容   

步骤  1 现在《JavaScript中写段代码》

var templeteStr = $("#templete").html();
                var tempStr = _.template(templeteStr);

var heroStr = tempStr(value);

                3      heroStr就是替换过的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值