dojo是什么?

dojo:

Dojo是一个用JavaScript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)),这也是为什么叫它a unifined toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些、长期存在 、历史问题,以及DHTML 跨浏览器问题。

Dojo能够让你更容易使Web页面具有动态能力,或者在任何能够稳定支持JavaScript语言的环境中发挥作用。其实就是美化你的网页。

如果你要使用dojo,首先你要声明:

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
        djConfig="parseOnLoad: true">
 </script>
 <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"/>



一个简单的例子:dojo.query

我们已经有 dojo.byId(类似document.get Element ById) 。然而,应用程序中每个节点的唯一ID,可以是一个艰巨的和不切实际的的任务。这也将是低效找到并在多个节点上单独操作ID。值得庆幸的是,有另一种解决方案:dojo.querydojo.query方法使用熟悉的CSS查询(你在你的样式表使用)检索一个节点列表,其中包括支持先进的CSS3选择器

  dojo.query("#header > h1")  //ID 为 header 的元素的直接子节点中的 h3 元素  
 dojo.query("span[title^='test']") // 属性 title 以字符串 test 开头的 span 元素  
 dojo.query("div[id$='widget']") // 属性 id 以字符串 widget 结尾的 div 元素  
 dojo.query("input[name*='value']") // 属性 name 包含子串 value 的 input 元素  
 dojo.query("#myDiv, .error") // 组合查询,结果中包含 ID 为 myDiv 的元素和 CSS 类为 error 的元素  
 dojo.query(".message.info") // 同时包含了 CSS 类 message 和 info 的元素,注意两个类之间不包含空格  
 dojo.query("tr:nth-child(even)") // 出现在父节点的偶数位置的 tr 元素  
 dojo.query("input[type=checkbox]:checked") // 所有选中状态的复选框  
 dojo.query(".message:not(:nth-child(odd))") // 嵌套子查询,选中包含 CSS 类 message,  

dojo开源包中包含主要3个文件夹:dojo,dijit,dojox。dijit是许多ajax的小部件组成,举一个典型的小部件:dijit.Tooltip:

<html> <head>
        <style type="text/css">
            body, html { font-family:helvetica,arial,sans-serif; font-size:90%; }
        </style>
        <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js"
        djConfig="parseOnLoad: true">
        </script>
        <script>
            dojo.require("dijit.Tooltip");
            dojo.require("dijit.form.Button");
        </script>
        <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.6/dijit/themes/claro/claro.css"
        />
        <style type="text/css">
            .box { color: white; background-color: #ba2929; width: 200px; height:
            50px; padding: 10px; }
        </style>
    </head>
    
    <body class=" claro ">
        <div class="box">
            Example content above button
        </div>
        <button id="buttonId" dojoType="dijit.form.Button">
            Longanimity
        </button>
        <button id="button2" dojoType="dijit.form.Button">
            Tooltip below
        </button>
        <div class="box">
            Example content below button
        </div>
        <div dojoType="dijit.Tooltip" connectId="buttonId" position="above">
            a
            <i>
                disposition
            </i>
            to bear injuries patiently :
            <b>
                forbearance
            </b>
        </div>
        <div dojoType="dijit.Tooltip" connectId="button2" position="below">
            a
            <i>
                disposition
            </i>
            to bear injuries patiently :
            <b>
                forbearance
            </b>
        </div>
       
    </body>

</html>

一个简单的演示效果,可以看出dojo的tooltip是非常美观的。


dojo官网教程:中文版的dojo教程过于乱,如果你想学习dojo,从它的官方网站由浅到深比较容易学习。官网的搜索条可以找到任何有关dojo的用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值