Welcome to AlexDesign.
| Posted in HTML & CSS | 2011/03/27 02:44 by Alex | Comments (0) | Views 38784

下面是大家的讨论:
以下实际测试过了:

另有网友解释:
gt = Great Then 大于
> = > 大于号
lt = Less Then 小于
< = < 小于号
gte = Great Then or Equal 大于或等于
lte = Less Then or Equal 小于或等于
最后有来自http://msdn2.microsoft.com/en-us/library/ms537512.aspx (英文)
来自MSDN的参考。。。。
| Posted in Javascript & AJAX | 2011/01/25 10:52 by Alex | Comments (0) | Views 40424
对象(object)是使用JavaScript的核心。JavaScript中的对象在许多方面和现实世界中的对象是相似的(它的确存在)。现实世界中,对象就是“事务”(许多关于面向对象编程的书中把对象比作名词):汽车、桌子、椅子,还有我敲打的键盘。对象拥有:

   1.属性(property,可以比作形容词)。这个汽车是红色的。

   2.方法(method,像一个句子里的东西)。启动汽车的方法可能是转动车钥匙。

   3.事件(event)。转动车钥匙导致了汽车启动——过程 + 结果 = 事件

   面向对象编程(OOP)试图通过对现实世界中的对象建模来使编程更加统一。让我们来创建一个汽车的模拟程序。首先,我们会创建一个汽车对象,给它一些属性,如颜色和当前速度。接着我们需要创建方法:可能一个start方法来启动汽车,一个break方法来给汽车减速,在其中我们需要传递刹车力度信息来决定减速的效果。最后,我们需要一些事件,例如,汽油过低事件提醒我们给汽车加油。

   面向对象编程就是要试用这些概念。这种设计软件的方式现在在许多编程领域都非常通用和流行,但对我们最重要的就是,它是JavaScript和Web浏览器编程的核心。

   我们试用的一些对象是JavaScript这种语言规范提供的一部分,例如String对象、Date对象以及Math对象。同样的JavaScript对象会在一个PDF文件或者一个Web服务器中提供。这些对象提供了许多有用的功能,可以节省大量的变成事件。

   举例来说,Date对象允许您从客户端获取当前的日期和时间。它保存日期,还提供了许多与日期相关的有用的函数,例如,把一个失去的日期/时间转换成为另一个失去的。这些对象通常称作为核心对象(core object),因为他们是独立于现实的。浏览器通关一些获取它的相关信息和改变应用程序界面外观的对象,使我们可以再JavaScript中使用这个对象来为浏览器用户查看的页面添加新的HTML元素。

   如果你曾在不同的主机中使用JavaScript,假设使用一个Windows服务器,你会发现存在JavaScript的服务器提供了一组非常不同的主机对象,他们的功能与你想在Web服务器上做的事情是相关的。

   JavaScript允许我们创建自己的对象。这是一个非常强大的特性,它允许我们试用JavaScript为现实世界的问题进行建模。要创建一个新的对象,我们需要使用一个叫做类(class)的模板来制定它的属性和方法。类与建筑师的图纸有点类似,它指定了什么东西应该到什么地方去做什么事情,但是他实际上并没有创建对象。

   PS:JavaScript是基于对象的语言还是面向对象的语言,这个问题存在一些争论。不同之处在于基于对象的语言使用对象来编程但是不允许程序员在他们的代码设计中使用面向对象编程。面向对象的语言不只使用对象,也允许使用面向对象的设计方法来简化开发和代码设计。JavaScript允许我们创建自己的对象,但是与Java、C#等基于类的语言实现方式不同无论如何,我们在这里不要太计较面向对象是什么或不是什么,而是应该关注JavaScript对象如何实际应用。

此文摘自网络!
| Posted in HTML & CSS | 2011/01/19 18:29 by Alex | Comments (0) | Views 38966
在网页设计、样式代码编程过程中经常用到的设置字体大小的有px、pt、em等,本篇文字主要说说这三者的区别。

基本概念:
px就是表示pixel,像素,是屏幕上显示数据的最基本的点,最小单位;

pt就是point,是印刷行业常用单位,等于1/72英寸。

em,其实就是%,从这个概念上看,em才是真正的“相对单位”。

px是一个点,它不是自然界的长度单位,谁能说出一个“点”有多长多大么?可以画的很小,也可以很大。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。

pt全称为point,但中文不叫“点”,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。

px会随显示器的分辨率而改变,pt会随Windows系统字体大小设置而改变。

设置Windows系统字体大小:桌面上右键 > 属性 > 设置 > 高级 > 常规 > DPI 设置,默认的是“正常尺寸96DPI”,你可以自定义修改。

px和pt的使用区别,只有当用户改变默认的96DPI下才会产生:使用px定义文字,无论用户怎么设置,都不会改变大小;使用pt定义文字,当用户设置超过96DPI的值,数值越大,字体就越大。

转换计算公式:px = pt * DPI / 72

在网页设计中,面向用户的屏幕的基本单位是px,因此使用px作为单位是最简单也最容易理解的,而pt也不过是通过了Windows的设置乘上了一个比率转变成px再显示,算是绕了个圈子。参考大部分大型网站,包括Adobe和Microsoft,都是使用px作为单位,而且在HTML中,默认的单位就是px。

但在Word或Photoshop中,使用pt就相当方便。因为使用Word和Photoshop的主要目的都不是为了屏幕浏览,而是输出打印。当打印到实体时,pt作为一个自然长度单位就方便实用了:比如Word中普通的文档都用“宋体 9pt”,标题用“黑体 16pt”等等,无论电脑怎么设置,打印出来永远就是这么大。又或者在Photoshop中,设置一个图片中的某个艺术效果的字体是72pt大小,然后分别将这张图片设为300DPI和72DPI,再打印出来,就可以看出,这2个字体大小完全一样,只是“清晰度”不同,300DPI更清晰。这是毫无疑问的结果。
| Posted in Javascript & AJAX | 2011/01/09 01:27 by Alex | Comments (0) | Views 39136
Class类实现了在JavaScript中声明一个新的类, 并通过构造函数实例化这个类的机制。通过使用Class.create()方法, 你实际上声明了一个新的类, 并定义了一个initialize()方法作为构造函数, 一旦你在这个声明的类的prototype中实现了改该方法, 你就可以使用new操作符来创建并实例化一个类。

Knowledge Prepare - 知识准备
在JavaScript中, 当你定义了一个新的函数, 你实际上声明了一个新的类, 而这个函数本身就相当于类的构造函数。 下面的代码向你展示了两种不同的方式来创建一个新的Person类, 而Person.prototype的定义也紧跟在函数定义之后。

当你通过函数的方式声明了一个类之后, 你就可以通过new操作符来实例化这个类。这样, 你就可以调用类的成员函数来完成你的逻辑。

我们来总结一下创建一个新的类的实例的整个流程和步骤:
1. 通过定义一个函数的方式(匿名或者实名)来声明一个新的类.
2. 如果有必要, 定义这个新的类的prototype域.
3. 使用new操作符紧跟你所定义的函数来创建一个新的类的实例. 一旦JavaScript编译器碰到了new操作符, 它实际上创建了一个空的类实例变量.
4. 将所有这个类的prototype域中的属性与方法复制到这个新的实例中, 并将其成员函数中所有的this指针指向这个新创建的实例.
5. 接下来, 执行紧跟在new操作符后面的那个函数.
6. 当你执行这个函数时, 如果你试图对一个不存在的属性进行赋值, JavaScript编译器将自动为你在这个实例范围内新创建这个属性.
7. 函数执行完毕后, 将这个初始化完成的实例返回.
在Prototype中, 使用Class对象, 你可以以一个比较简单的方式来声明一个新的对象。通过使用Class.create(), prototype为你创建了一个默认的构造函数initialize(), 一旦你实现这一函数, 就可以以一个类似Java中构造函数的方式来创建一个新的类的实例。
Source View - 源码解析

Field & Function Reference - 属性方法一览
Class ( 静态 )
Method / Property Kind Arguments Description
create() 静态方法  / 用于声明一个新的类并提供了一个名为initialize构造函数支持
Analysis & Usage - 分析与使用
通过Class类, 你可以很容易地使用构造函数的方式创建一个新的类, 这对于Java程序员来说或许更加容易被接受。下面我们列出了Java和JavaScript各自声明和创建一个新的类的代码对比, 我们可以看到, 他们是如此相似:
| Posted in Javascript & AJAX | 2010/12/06 19:05 by Alex | Comments (0) | Views 39301
模态窗口就是在该窗口关闭之前,其父窗口不可能成为活动窗口的那种窗口。举个例子:  
窗口A弹出窗口B,如果窗口B是模态的,在窗口B关闭前就不可能切换到窗口A;如果B是非模态的,那可以在这两个窗口之间任意切换。

它一般用来显示提示信息和接受用户的输入。对话框不能独立存在。目前有两种对话框,分别为:模态对话框 和 非模态对话框。
模态对话框在显示之后,就不能对同一个程序中的其它窗口进行操作。
非模态对话框在显示之后,还可以对同一个程序的其它窗口进行操作。

非模态
CMyDlg*   pMainWnd   =   new   CMyDlg;  
pMainWnd->Create();  
模态
CMyDlg   dlg;  
dlg.Domdal;

showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同?
  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。
  showModelessDialog:被打开后,用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P)

二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上就可以了。这句话一般是放在和之间的。

三、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠javascript了,以下是相关代码:

[body   onkeydown="if (event.keyCode==116){reload.click()}">


  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要配合使用,不然你按下F5会弹出新窗口的。

四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  [input type="button" value="关闭" onclick="window.close()">
  也要配合,不然会打开一个新的IE窗口,然后再关掉的。

五、showModalDialog和showModelessDialog数据传递技巧。
  例子:
    现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name

      一般的传递方式:
        window.showModalDialog("filename.htm",var_name)
        //传递var_name变量
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments)//读取var_name变量
        window.dialogArguments="oyiboy"//设置var_name变量
    这种方式是可以满足的,但是当你想在操作var_name同时再操作第二个变理var_id时呢?就无法再进行操作了。这就是这种传递方式的局限性。
    
      以下是我建议使用的传递方式:
        window.showModalDialog("filename.htm",window)
        //不管要操作什么变量,只直传递主窗口的window对象
      在showModalDialog(或showModelessDialog)读取和设置时:
        alert(window.dialogArguments.var_name)//读取var_name变量
        window.dialogArguments.var_name="oyiboy"//设置var_name变量

        同时我也可以操作var_id变量
        alert(window.dialogArguments.var_id)//读取var_id变量
        window.dialogArguments.var_id="001"//设置var_id变量

        同样还可以对主窗口的任何对象进行操作,如form对象里的元素。
        window.dialogArguments.form1.index1.value="这是在设置index1元素的值"

六、多个showModelessDialog的相互操作。
    以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。

  主文件的部份js代码。
  var s1=showModelessDialog(''控制.htm'',window,"dialogTop:1px;dialogLeft:1px") //打开控制窗口
  var s2=showModelessDialog(''about:blank'',window,"dialogTop:200px;dialogLeft:300px")  //打开被控制窗口

  控制.htm的部份代码。
  
  以上关键部份是:
    窗口命名方式:var s1=showModelessDialog(''控制.htm'',window,"dialogTop:1px;dialogLeft:1px")
    变量访问方式:window.dialogArguments.s2.dialogTop

  这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能,通过这个原理,在showModelessDialog之间相互控制各自的显示页面,传递变量和数据等。这要看你的发挥了。
分页: 1/7 第一页 1 2 3 4 5 6 7 下页 最后页 [ 显示模式: 摘要 | 列表 ]