快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

世界十大体育投注网站_酒文化网进入



媒介

Dojo 供给了多种基础的结构要领,应用这些结构,可以有层次,故意义的组织控件,使得 web 界面得到更好的用户体验。

下面将从常见的几种控件启程,先容 Dojo 常见的结构要领,让我们一路进修 Dojo 机动而又富厚的结构要领。

基础结构要领

Dojo 基础结构要领主要体现鄙人列几种控件:

ContentPane (dijit.layout.ConentPane)

Titl世界十大体育投注网站ePane (dijit.TitlePane)

FloatingPane (dojox.layout.FloatingPane)

ScrollPane(dojox.layout.ScrollPane)

BorderContainer (dijit.layout.BorderContainer)

ContentPane (dijit.layout.ConentPane)

ContentPane,顾名思义,便是用于放置多少内容的面板,是各类结构的基础元素。ContentPane 的功能类似于 iFrame。除此之外 ContentPane 还可以与其他 Layout 控件相互嵌套。首先看一个最简单的 ContentPane 的例子:

清单 1. ContentPane 声明法示例

href="TestContentPane.html">

清单 2. ContentPane 法度榜样天生法示例

在这个例子中,ContentPane 完全实现了 iFrame 的功能,当然,ContentPane 的功能不止这些。值得留意的是:1. 在应用声明法时,不要忘怀 dojoType 属性,2. 在应用法度榜样天生法时,不要忘怀 startup(),3. 假如 href 页面中 require 的 dojo 控件,在调用页面中必须再 required 一次,否则子页面的 dojo 控件会解析 / 创建掉败。

ContentPane 控件有一些常常会用到的属性和措施,下面予以逐一先容:

content – String, DomNode, NodeList

content 顾名思义,便是指 ContentPane 中显示的内容。假如没有定义 href 属性,ContentPane 组件内将显示 content 内容。否则将显示 href 页面的内容。content 可所以 String, DomNode 和 NodeList 三种类型。下面例子给出了 content 应用措施。

清单 3. ContentPane: content 属性示例 1

var myFirstContentPane = new dijit.layout.ContentPane({

id: "myFirstContentPane",

content: "Hello, Dojo World!"

},dojo.byI世界十大体育投注网站d("myFirstContentPane"));

浏览器将显示如下信息:

图 1. content 属性示例 1

清单 4. ContentPane: content 属性示例 2

var myDomNode = document.createElement("table"); // 创建一个 DomNode, table 元素

var myTD1 = document.createElement("td");

myTD1.innerHTML = "Hello, Dojo World!";

var myTR1 = document.createElement("tr");

myTR1.appendChild(myTD1);

myDomNode.appendChild(myTR1); //Table 的第一行是”Hello, Dojo World!”

var myTD2 = document.createElement("td");

myTD2.innerHTML = "Hello, ContentPane World!";

var myTR2 = document.createElement("tr");

myTR2.appendChild(myTD2);

myDomNode.appendChild(myTR2); //Table 的第二行是”Hello, ContentPane World!”

myDomNode.border = 1;

var myFirstContentPane = new dijit.layout.ContentPane({

id: "myFirstContentPane",

//href:"TestContentPane.html"

content: myDomNode // 将创建的 DomNode 赋给 content 属性

},dojo.byId("myFirstContentPane"));

浏览器将显示如下信息:

图 2. content 属性示例 2

title – String

title 属性定义了 ContentPane 的标题。这个标题只有当 ContentPane 作为 TabContainer/ StackContainer 等 Layout 控件的子控件时,才可以看到。此时该属性值显示于该 Tab 页的标题处。下图展示了这一情形。

图 3. title 属性示例

closable -- boolean

closable 属性同 title 属性一样,也是在作为 TabContainers 等 Layout 控件的子控件时,才故意义。如在 TabContainer 中,假如 closable=”true”,那么该 tab 页面的标题处会显示用于关闭 tab 的图标。下图展示了 closable =世界十大体育投注网站 “true”时的情形:

图 4. closable 属性示例

点击小圆叉,first 页面将会被关闭:

图 5. closable 属性示例 2

loadingMessage / errorMessage -- String

当 ContentPane 内容 / 页面加载中,或呈现差错时,ContentPane 将会显示的内容。

清单 5. ContentPane: loadingMessage 属性示例

myContentPane.attr("loadingMessage", "Sti世界十大体育投注网站ll Loading …");

placeAt() -- function

这是一个常用的措施,dojo 控件都实现了这个措施。运用这个措施可以自由地放置控件的位置。该措施有两个参数:reference, 和 position。可以吸收的 reference 参数类型有:String, DomNode 和 _Widget。此中 String 为引用 Dom 节点 (DomNode),或者 dojo 控件 (_Widget) 的 id。而被座位参数传入的 dojo 控件,世界十大体育投注网站必须是实现了 addChild 措施的类型的。可吸收的 position 参数类型有 Int, 和 String。传入的 String 参数必须是”first”,”last”,”before”,”after”中的一个。举一个例子:

清单 6. ContentPane: placeAt() 措施示例

myContentPane.placeAt("OuterContentPane", "first");

该例子中,myContentPane 将被嵌套放入 OuterContentPane 的第一个位置。

attr() – function

attr 是常用的 dojo 控件通用措施。该措施在前面的例子已经呈现过了,用于为 dojo 控件的属性赋值。如:_Widget.attr(“value”, 3) 相称于 _Widget.setValue(3)。在新的版本中,许多用于改动属性的措施被不保举了,如 setValue, setHref 等,均由 attr(“value”, value), attr(“href”, href) 措施取代。

ContentPane 还支持 dojo 事故相应机制,用 connect 措施链接 dojo 控件,事故,与事故处置惩罚措施。ContentPane 中定义的很多事故必要与其他结构容器结合才能显示效果,如在 TabContainer 中,可以加上对 ContentPane 的 onClose, onShow, onHide 等事故相应。

在这里,先给出一个事故相应的例子:

清单 7. ContentPane: 事故相应示例

dojo.connect(myContentPane, "onClick", function(event){alert(“Click me!”);});

TitlePane (dijit.TitlePane)

TitlePane 本色上仍旧是一个 ContentPane, 不合点是,TitlePane 自带了 Title 的显示。在 TitlePane 中,title 属性定义了显示的标题。显示效果如图所示:

图 6. TitlePane 示例

清单 8. TitlePane: 基础示例

Hello World! First Line.

Hello World! Last Line.

该例中展示了构造 TitlePane 的法度榜样法与声明法,以及 placeAt 的应用措施。可以看出,除了引用为 dijit.TitlePane 外,其他用法均与 ContentPane 相同。

下面先容 TitlePane 的一些常用属性:

close -- boolean

TitlePane 的内容可以被收起。close 属性定义了 TitlePane 是否处于收起状态。

清单 9. TitlePane:close 属性示例

myTP.attr("close", true);

除了经由过程法度榜样收起面板,TitlePane 还可以经由过程点击顶部的标题,打开和收起面板主体。如下图所示:

图 7. TitlePane: close 属性示例 1

图 8. TitlePane: close 属性示例 2

duration -- number

收起和打开 TitlePane,是一个动画历程,duration 定义了该动画持续的光阴,单位是毫秒。

清单 10. TitlePane:duration 属性示例

myTP.attr("duration", 1000);

下图展示了定义 duration 后收起 TilePane 时展示的动画历程瞬间。

图 9. TitlePane: duration 属性示例

经由过程例子,可以发明 TitlePane 也可以和 ContentPane 一样互相嵌套。但 TitlePane 不得当被嵌套在 StackContainer 中,这样会显得不伦不类:

图 10. TitlePane: 在 StackContainer 中的

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: