Underscore.js 的模板功能

简介:
 

  Underscore是一个非常实用的JavaScript库,提供许多编程时需要的功能的支持,他在不扩展任何JavaScript的原生对象的情况下提供很多实用的功能。

  无论你写一段小的js代码,还是写一个大型的HTML5应用,underscore都能帮上忙。目前,underscore已经被广泛使用,例如,backbone.js唯一强依赖的库就是underscore.js。

  Underscore.js学习资源:

  Underscore.js 官网:http://underscorejs.org/#each  

  Underscore.js 中文文档: http://www.css88.com/doc/underscore/ 

今天主要讨论Underscore 的前端模板功能。它的模板功能和前一篇介绍的javascript前端模板是一样的。对数据的处理更加方便。写了个小例,供大家参考学习。

完整实例可以通过这个网址下载:http://pan.baidu.com/share/link?shareid=2509652039&uk=688556984

复制代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Underscore</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="format-detection" content="telephone=no"/>
    <link href="index.css" rel="stylesheet" type="text/css" />
    <script src="jquery.js"></script>
    <script src="underscore.js"></script>
</head>

<body>
</body>
</html>

<!--ace-template demo-->        
    <script id="t2" type="text/template">
        <%_.each(datas, function(item) {%>
            <div class="outer">
                <div class="title">
                    <span ><%=item.film%></span>
                </div>
                <ul class="ul">
                    <%_.each(datas, function(item) {%>
                        <li>
                            <a href="<%=item.url%>">【<%=item.title%>】</a>
                        </li>
                    <%});%>
                </ul>                        
            </div>
        <%});%>
    </script>

<!--数据 -->
    <script>
        var datas = [
            {
                title: "一九四二",
                url: "http://www.baidu.com",
                film:"电影1"
            },
            {
                title: "少年派的漂流",
                url: "http://www.baidu.com",
                film:"电影2"
            },
            {
                title: "教父",
                url: "http://www.baidu.com",
                film:"电影3"
            },
            {
                title: "肖申克的救赎",
                url: "http://www.baidu.com",
                film:"电影4"
            },
            {
                title: "3d2012",
                url: "http://www.baidu.com",
                film:"电影5"
            }
        ];    
            
        $("body").html( _.template($("#t2").html(), datas));

    </script>

<!--点击下拉事件-->
    <script type="text/javascript">
            $('.ul').hide();
            $('.ul>li:last-child').addClass('last-li');
            $('body>div:first-child>ul').show();
            $('.title').click(function(){
                $(this).siblings().toggle();
                $(this).parent().siblings().children('.bbs-nav-ul').hide();
            })            $('.title').hover(function(){
                $(this).toggleClass('hover');
            })
            $('.ul>li').hover(function(){
                $(this).toggleClass('hover');
            })
    </script
        
        
复制代码

 本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/archive/2012/12/21/2826886.html如需转载请自行联系原作者


@挨踢前端

相关文章
|
5天前
|
JavaScript 前端开发
js实现点击音频实现播放功能
js实现点击音频实现播放功能
|
5天前
|
前端开发 JavaScript
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
|
2月前
|
JavaScript 前端开发
js制作九宫格抽奖功能
js制作九宫格抽奖功能
21 0
|
3月前
|
JavaScript 前端开发
|
5天前
|
存储 前端开发 JavaScript
使用JavaScript实现复杂功能——一个交互式音乐播放器
使用JavaScript实现复杂功能——一个交互式音乐播放器
|
5天前
|
存储 JavaScript 前端开发
JavaScript复杂功能实现:实时数据可视化图表
JavaScript复杂功能实现:实时数据可视化图表
|
24天前
|
SQL JavaScript
js开发:请解释什么是ES6的模板字符串(template string),并给出一个示例。
ES6的模板字符串以反引号包围,支持变量和表达式插入以及多行书写。例如,插入变量值`Hello, ${name}!`,计算表达式`${num1 + num2}`,以及创建多行字符串。模板字符串保留原始空格和缩进,简化了字符串拼接,提高了代码可读性。
18 6
|
25天前
|
JavaScript 前端开发
购物车的功能——JS源码
购物车的功能——JS源码
12 2
|
1月前
|
自然语言处理 JavaScript 前端开发
Vue.js 深度解析:模板编译原理与过程
Vue.js 深度解析:模板编译原理与过程
|
2月前
|
前端开发 JavaScript 开发者
Canvas库 fabric.js可以实现哪些功能? 动图介绍
fabric.js是一个canvas库,今天整理了一下fabric.js可以实现的功能,用动图的形式分享给大家,方便快速了解fabric.js。
Canvas库 fabric.js可以实现哪些功能? 动图介绍