精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ajax教程>正文

ajax开发工具bindows使用指南:创建一个主题


来源: 时间:07-01-01 点击: 点击这里收藏本文

每个主题包含了一个Javascript文件,在这个文件中创建了 BiTheme 对象,还有一个 CSS 文件用于定义外观。默认情况下你要在 themes 目录中创建一个文件夹,文件夹的名字就是你创建的主题的名字。在文件夹中添加一个 theme.css 文件,和一个 theme.js 文件. Javascript文件创建一个和文件夹同名的 BiTheme 对象.

html/
   themes/
      Default/
         Images/
         theme.css
         theme.js
      MyTheme
         Images/
         theme.css
         theme.js

然后你要往 ADF 中添加 Theme 标签.

<Application autoNameMapping="true">
   <Theme name="MyTheme" default="true"/>
   <Window caption="Theme Test">
      ...
   </Window>
   ...
</Application>

BiTheme 类

theme.js 定义主题对象。最简单的方法就是继承 BiTheme 或者 BiDefaultTheme

function MyTheme( )
{
   BiDefaultTheme.call( this, "MyTheme" );
}
 
_p = MyTheme.prototype = new BiDefaultTheme;
_p._className = "MyTheme";
 
// instantiate
application.getThemeManager().addTheme( new MyTheme );

Appearance and CssClassName

大多数组件和 HTML 元素有一对一的关系。通常 CSS 的类名反映了 Bindows 的组件类名。举个例子,BiComponents有个叫"bi-component" 的类名,BiComboBox 组件有个 CSS 类叫做 "bi-combo-box"

任何组件都有一个 appearance 属性。这个属性描述了怎样绘制组件,并映射到一个 CSS 类。举个例子,如果你设置了 "button" 的外观,那么 "button" 将被应用与之同类名的 CSS 。

让我们用一个例子来说明这是怎么工作的。我们创建一个组件,并且设置它的 CSS 类名和外观。

var c = new BiComponent;
c.setCssClassName( "foo" );
c.setAppearance( "bar" );

在 HTML 中产生的结果:

<div id="..." class="foo bar"></div>

这将匹配相应的 CSS 规则。要注意的是 Internet Explorer 不能完全支持多重 CSS 类名。

.foo {
   color: red;
}
 
.bar {
   color: blue;
}

不能这样定义规则:

.foo.bar {
   color: green;
}

因为Internet Explorer不能正确的区分。

Appearance States

为了支持外观的交互状态,外观状态被使用。 一些状态可以自动调用,但也可以手工处理。被支持的正确的状态是:

  • active - 鼠标按下
  • hover - 鼠标悬停
  • focus
  • disabled
  • checked

一些组件添加了其它伪外观状态,比如 "selected" 和其它。

我们用上一个例子,添加一个伪外观状态。

var c = new BiComponent;
c.setCssClassName( "foo" );
c.setAppearance( "bar" );
appliation.getThemeManager().addState( c, "baz" );

HTML 中的运行结果是:

<div id="..." class="foo bar bar-baz"></div>

这将匹配下面的 CSS 规则。

.foo {
   color: red;
}
 
.bar {
   color: blue;
}
 
.bar-baz {
   background-color: lightblue;
}

这样就可以在一致的风格下为不同的状态定制不同的外观。

修改你的主题

CSS 文件和主题类决定了主题的外观。通过已存在的 CSS 文件是最简单的修改 CSS 的方法。如果BiTheme对象基于 BiDefaultTheme,那么它就不需要任何修改,但是下面你可能要修改一些通用的东西。

addAppearance

如果你想要为特定的外观提供交互状态,你可能需要修改或添加下面的代码。

function MyTheme( )
{
   BiDefaultTheme.call( this, "MyTheme" );
 
   // the default theme does not have interactive button states
   this.addAppearance( "button", ["hover"
9 7 3 1 2 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.