摆渡人,外婆桥!
            ----只要路选对了,就不怕有多远!

利用div进行页面的布局2(position属性)

一、请看下面的HTML代码

 1<HTML>
 2<HEAD>
 3<TITLE>Position </TITLE>
 4</HEAD>
 5<BODY>
 6<table border=1>
 7    <tr>
 8        <td >
 9            <textarea id="textareaInput" style="font-family: Tahoma; font-size: 11px;" cols="35" rows="3"/></textarea>
10        </td>
11        <td width='300' align='right' >
12            <DIV id=senddiv  style="WIDTH: 70px; HEIGHT: 41px;">
13                <IMG id=btnSendOut style="WIDTH: 70px; POSITION: absolute; HEIGHT: 41px" src="windows_button_bg.gif">
14                <div id=divSendOut style="WIDTH: 70px; POSITION: absolute; HEIGHT: 41px;line-height:41px" align='center' >Send</div>
15            </DIV>
16        </td>
17    </tr>
18</table>
19</div>
20</BODY>
21</HTML>

二、运行的结果

 三、问题
     为什么img(id为btnSendOut)和文字div(id为divSendOut)出现在table外了呢?
四、原因
    img和文字div都用的绝对(position:absolute)位置,但都没有设置left和top属性,这样会根据当前的HTML位置来确定left和top属性。上级容器是个div(id为senddiv)中,此div延续上级td的align属性,这样当前位置应在div的右边。于是img和文字div从div(id为senddiv)的右边开始显示,由于都是绝对的,脱离HTML的显示,所以都会超出table外。
五、解决方案
      找到了原因,解决起来就容易了。我们只需要把div(id为senddiv)的align属性设置为left就可以了。因为img,div(id为divSendOut),div(id为senddiv)的大小都是一样的。

六、另外的问题(层的居中问题)
      对于把字符串"Send"居中在div(id为divSendOut)中间,我们可以设置div的line-height属性(注意该属性的单位)和height属性一样就可以了。但是如果需要居中的不是文字,而且其它的对象,例如另一个div,则就需要利用脚本来控制了。
posted @ 2007-04-11 15:23 swingboat 阅读(1393) | 评论 (0) | 编辑 收藏
 
利用div进行页面的布局1(float&clear属性)

请看下面的代码:

 1 < html >
 2 < head >
 3 < script  language ="javascript" >
 4 </ script >
 5 < style  type ="text/css" >
 6 </ style >
 7 </ head >
 8 < body >
 9 < div  style ="position:absolute;top:100px;left:100px;width:300;height:300;background-color:#99FF00" >
10      < div  style ="float:left;width:100;height:100;background-color:red" ></ div >
11      < div  style ="clear:right;height:100;background-color:blue;" ></ div >
12 </ div >
13 </ body >
14 </ html >

 
float : none | left |right
 
参数:
 
none :  对象不浮动
left :  对象浮在左边
right :  对象浮在右边
 
说明:
该属性的值指出了对象是否及如何浮动。
当该属性不等于none引起对象浮动时,对象将被视作块对象(block-level),即display属性等于block。也就是说,浮动对象的display特性将被忽略。
对应的脚本特性为styleFloat。

clear : none | left |right | both
 
参数:
 
none :  允许两边都可以有浮动对象
both :  不允许有浮动对象
left :  不允许左边有浮动对象
right :  不允许右边有浮动对象
 
说明:
 
该属性的值指出了不允许有浮动对象的边。
对应的脚本特性为clear。
posted @ 2007-03-25 16:22 swingboat 阅读(781) | 评论 (0) | 编辑 收藏
 
javascript转换日期字符串为Date对象
把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象:
1:
1var   strArray=str.split("   ");   
2var   strDate=strArray[0].split("-");   
3var   strTime=strArray[1].split(":");   
4var   a=new   Date(strDate[0],(strDate[1]-parseInt(1)),strDate[2],strTime[0],strTime[1],strTime[2])   

2:
1var   s   =   "2005-12-15   09:41:30";   
2var   d   =   new   Date(Date.parse(s.replace(/-/g,   "/")));   
3

第二种方法真是简单啊!
posted @ 2007-02-28 10:21 swingboat 阅读(47715) | 评论 (4) | 编辑 收藏
 
Table中table-layout:fixed样式的作用。
请看下面的html
<html>
    
<body>
        
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="1" >
            
<TBODY>
                
<TR height="30">
                    
<TD style="WIDTH: 12px"></TD>
                    
<TD class="BigCaption" style="WIDTH: 150px">Web Domain :&nbsp;<SPAN class="WarningDescription">*</SPAN>
                    
</TD>
                    
<TD>
                        
<SELECT id="DWT189WebDomain"/>
                    
</TD>
                
</TR>
                
<TR>
                    
<TD></TD>
                    
<TD vAlign="top" colSpan="2">
                        asfdassdgsdgfsdgfsdgfsdfffffffffffffffffffffffffffffffffffffffffffffsdgfsdfgsdgsdgfsdgfsdgsdg
                    
</TD>
                
</TR>
            
</TBODY>
        
</TABLE>
    
</body>
</html>

显示这个页面,含有Web Domain的TD的实际长度绝对大于150px的。因为受第二行的colSpan的属性影响了
<html>
    
<body>
        
<TABLE cellSpacing="0" cellPadding="0" width="100%" border="1" style="table-layout:fixed" >
            
<TBODY>
                
<TR height="30">
                    
<TD style="WIDTH: 12px"></TD>
                    
<TD class="BigCaption" style="WIDTH: 150px">Web Domain :&nbsp;<SPAN class="WarningDescription">*</SPAN>
                    
</TD>
                    
<TD>
                        
<SELECT id="DWT189WebDomain"/>
                    
</TD>
                
</TR>
                
<TR>
                    
<TD></TD>
                    
<TD vAlign="top" colSpan="2">
                        asfdassdgsdgfsdgfsdgfsdfffffffffffffffffffffffffffffffffffffffffffffsdgfsdfgsdgsdgfsdgfsdgs
                    
</TD>
                
</TR>
            
</TBODY>
        
</TABLE>
    
</body>
</html>

这才是我要的效果!呵呵!
posted @ 2006-12-19 13:44 swingboat 阅读(2291) | 评论 (0) | 编辑 收藏
 
maven2使用问题集(命令篇)!
  1. 显示一个插件所有的goal
  2. 创建一个基于模版的项目,eclipse项目
     //创建标准目录模板
     mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=codelineCommons 
    //创建web项目
     mvn archetype:create -DgroupId=com.mycompany.app    -DartifactId=my-webapp       -DarchetypeArtifactId=maven-archetype-web
  3. 查看一个插件所用的版本
    mvn -Dplugin=groupId:artifactId help:describe
  4. 忽略编译test
    mvn -Dmaven.test.skip=true
  5. 一个jar文件,它是maven的一个插件,怎么安装到本地库。
       mvn install:install-file
           -Dfile=<path-to-file>
        -DgroupId=<group-id>
        -DartifactId=<artifact-id>
        -Dversion=<version>
        -Dpackaging=<packaging>
        -DgeneratePom=true
  6. maven的生命周期
        validate,验证工程是否正确,所有需要的资源是否可用。
        compile,编译项目的源代码。
        test-compile,编译项目测试代码。
        test,使用已编译的测试代码,测试已编译的源代码。
        package,已发布的格式,如jar,将已编译的源代码打包。
        integration-test,在集成测试可以运行的环境中处理和发布包。
        verify,运行任何检查,验证包是否有效且达到质量标准。
        install,把包安装在本地的repository中,可以被其他工程作为依赖来使用
       deploy,在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。  
       generate-sources,产生应用需要的任何额外的源代码,如xdoclet。
  7. Dependency Scope
     compile,缺省值,适用于所有阶段,会随着项目一起发布。
     provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
     runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
     test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
     system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它
     eg:
     <dependency>
        <groupId>hibernate</groupId>
        <artifactId>hibernate</artifactId>
        <version>3.0.3</version>
        <scope>test</scope>
     </dependency>
posted @ 2006-11-13 15:30 swingboat 阅读(2151) | 评论 (2) | 编辑 收藏
 
同步(synchronized)对程序性能的影响!
在使用多线程时,可能会访问一些全局的数据,这时必然会使用同步机制来使程序按照一定顺序来执行,这样程序的性能也会下降。所以一定要慎用同步,正确用同步。看下面的程序
        int curIndex = 0;
        AuditQueueEntry aqe;
        
synchronized (localCriticalSection) {      
            
while (curIndex < theList.size()) {
                aqe 
= (AuditQueueEntry) theList.get(curIndex);
                
if (aqe.getTrailId() == theTrailId) {
                    theList.remove(curIndex);
                }
 else {
                    curIndex
++;
                }

            }

        }

localCriticalSection做为一个信号量来控制程序对类成员变量theList的访问,从而保证了theList在同一时间只有一个程序访问。运行程序,这个函数花费了将近4秒钟。同步是很耗时间的。
在java.util.Collections中提供了很多方法来保证集合(数组)的同步访问。
我们修改类成员变量theList的实例化方法:
theList = Collections.synchronizedList(new LinkedList());

再修改处理函数:
        int curIndex = 0;
        AuditQueueEntry aqe;
//        synchronized (localCriticalSection) {
        synchronized(theList) {    
            
while (curIndex < theList.size()) {
                aqe 
= (AuditQueueEntry) theList.get(curIndex);
                
if (aqe.getTrailId() == theTrailId) {
                    theList.remove(curIndex);
                }
 else {
                    curIndex
++;
                }

            }

        }

再运行,这个函数才花费将近一秒钟的时间!
在Collections中提供了很多这类的方法。
posted @ 2006-11-10 12:37 swingboat 阅读(1338) | 评论 (2) | 编辑 收藏
 
Tomcat5.5.x的JNDI配置(jakarta-tomcat-5.5.7)。


jakarta-tomcat-5.5.7
1.web.xml的设置
<resource-ref>
  <description>OPDB JNDI for TOMCAT</description>
  <res-ref-name>jdbc/opdb</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
 </resource-ref>

2.cof/server.xml的配置(eg:C:\jakarta-tomcat-5.5.7\conf)。

<Resource name="jdbc/opdb" auth="Steve" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@172.16.208.190:1522:opdb" username="test" password="oracle" maxActive="20" maxIdle="10" maxWait="10000"/> 

3.web/META-INF/content.xml的配置。

<?xml version='1.0' encoding='utf-8'?>
<Context>
 <!-- note: the following resource name is set up to use the inet jdbc driver.  If you are
  using a different driver, then you will have to change the driverClassName.
  You will have to change the url (the ip and db identifier part), username and password
  entries for your environment.
  -->
 <Resource name="jdbc/opdb" auth="Container" type="javax.sql.DataSource" username="test" password="oracle"
  driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@172.16.208.190:1522:opdb" maxActive="20" maxIdle="10"
  maxWait="-1" validationQuery="SELECT 1 FROM DUAL"/>
</Context>
说明:我的tomcat版本是5.5.7。好像必须配置content.xml文件,但是配了这个文件,server.xml中的设置不起作用了。下面是各参数的说明:
driveClassName:JDBC驱动类的完整的名称;
maxActive:同时能够从连接池中被分配的可用实例的最大数;
maxIdle:可以同时闲置在连接池中的连接的最大数;
maxWait:最大超时时间,以毫秒计;
password:用户密码;
url:到JDBC的URL连接;
user:用户名称;
validationQuery:用来查询池中空闲的连接。

posted @ 2006-10-25 10:09 swingboat 阅读(856) | 评论 (0) | 编辑 收藏
 
网站图标
找了很久,偶然间知道了,唉!
<link rel="SHORTCUT ICON" href="http://www.ibm.com/favicon.ico"/>
posted @ 2006-08-28 15:48 swingboat 阅读(252) | 评论 (0) | 编辑 收藏
 
页面中DOCTYPE的作用。
前几天,在做一个页面时,引入了样式文件,但是不起作用。后来跟踪发现竟然是DOCTYPE的设置问题。例如下面的HTML:
<div class="testDiv">test
   <table>
      <tr>
         <td>Table Content</td>
      </tr>
   </table>
</div>
在testDiv中设置了字体的样式,但是浏览时(IE6和FireFox1.5),发现test文本已经显示了testDiv中规定的样式,但Table Content却没有。去掉页面中的"http://www.w3.org/TR/html4/loose.dtd"设置后,两文本都按testDiv的样式显示了。下面引入一篇对DOCTYPE详细解释的文章。

原文作者: 周靖 译

虽然大多数Web文档的顶部都有doctype声明,但很多人都没有注意它。它是在你新建一个文档时,由Web创作软件草率处理的众多细节之一。

虽然doctype被许多人忽视,但在遵循标准的任何Web文档中,它都是一项必需的元素。doctype会影响代码验证,并决定了浏览器最终如何显示你的Web文档。


doctype的作用
doctype声明指出阅读程序应该用什么规则集来解释文档中的标记。在Web文档的情况下,“阅读程序”通常是浏览器或者校验器这样的一个程序,“规则”则是W3C所发布的一个文档类型定义(DTD)中包含的规则。

每个DTD都包括一系列标记、attributes和properties,它们用于标记Web文档的内容;此外还包括一些规则,它们规定了哪些标记能出现在其他哪些标记中。每个Web建议标准(比如HTML 4 Frameset和XHTML 1.0 Transitional)都有自己的DTD。

假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。对于标记不一致的问题,浏览器相较于校验器来说更宽容。但是,不正确的doctype声明经常导致网页不正确显示,或者导致它们根本不能显示。


选择正确的doctype
为了获得正确的doctype声明,关键就是让DTD与文档所遵循的标准对应。例如,假定文档遵循的是XHTML 1.0 Strict标准,文档的doctype声明就应该引用相应的DTD。另一方面,如果doctype声明指定的是XHTML DTD,但文档包含的是旧式风格的HTML标记,就是不恰当的;类似地,如果doctype声明指定的是HTML DTD,但文档包含的是XHTML 1.0 Strict标记,同样是不恰当的。

有的时候,也可以根本不使用一个doctype声明。如果没有指定有效的doctype声明,大多数浏览器都会使用一个内建的默认DTD。在这种情况下,浏览器会用内建的DTD来试着显示你所指定的标记。对于一些临时性的、匆忙拼凑的文档(这种文档有许多),你确实可以考虑省略doctype声明,并接受浏览器的默认显示。

完全可以从头编写一个doctype声明,并让它指向自己选择的一个DTD。然而,由于大多数Web文档都需要遵循由W3C发布的某个国际公认的Web标准,所以那些文档通常都要包含以下标准doctype声明之一:

HTML 2:



HTML 3.2:



HTML 4.01 Strict:

"http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional:

"http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset:

"http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1:

"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

XHTML 1.1 plus MathML plus SVG:

"-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">

除了上面列出的doctype声明,具有特殊要求的一些文档还使用了其他几种声明。

doctype声明通常是文档的第一行,要在标记以及其他文档内容之前。注意,在XHTML文档中,doctype的前面偶尔会出现一条XML处理指令(也称为XML prolog):



为了确保网页正确显示和顺利通过验证,使用正确的doctype是关键。与内容相反的、不正确的或者形式错误的doctype是大量问题的罪魁祸首。在未来的专栏文章中,我还会具体解释如何诊断及纠正这些问题。

用DW设计网页时,新建一个文件,看代码最前面总要出现一个下面的东东,
"http://www.w3.org/TR/html4/loose.dtd">
这个是DW自动在网页文件页增加了DTD信息.可以删.
删除后,浏览器会使用的默认DTD.


posted @ 2006-04-11 11:37 swingboat 阅读(1499) | 评论 (1) | 编辑 收藏
 
javascript对象使用总结(1)
1.javascript类的定义
  function Person(name,age,sex){
   var self=this;
   this.name=name;
   this.age=age;
   this.sex=sex;
   
   toString=function(){
    alert(self.name);
   }
   
   this.getName=function(){
    return this.name;
   }  
  }
 
  使用:
  var person=new Person("yhp",28,1);
  person.getName();//可以访问getName函数
  person.toString();//不可以访问toString函数
 
  利用prototype.js也可以这么定义
  var Person=Class.create();
  必须定义Person的构造函数:
  Person.prototype.initialize=function(name,age,sex){
   this.name=name;
   this.age=age;
   this.sex=sex;
  }
 
2.在上面的Person类中,toString函数是不能直接访问this.name的.
  解决方法:可以定义变量self,把this赋值给它,在toString中利用self来访问this.name.
  var self=this;
  toString(){
   alert(self.name);
  }
  应用:定义一个类,有个成员变量number,在构造函数中传入一个容器,在容器中创建一个div,div中绑定onclick,在onclick中访问number
  var Module=function(container){
 var self=this;
 this.container=container;
 this.build=function(){
  this.number=Math.random();
  var div=document.createElement("div");
  div.innerHTML="module";
  div.style.cursor="pointer";
  div.onclick=function(){
   alert(self.number);//在此处是不能访问this.number的.
  }
  this.container.appendChild(div);
  test();
 }
  }
 
3.对于下面代码:
  while(count>=0){
    var div=document.createElement("div");
 div.className="number";        
 div.innerHTML=count+1;
 div.style.cursor="pointer";
 div.onclick=function(e){
  alert(count);
 }      
  }
 
  当触发div的onclick的时候,每次alert显示都是-1;也就是最后count的值.但需要每次alert的都是innerHTML中值.
  获取innerHTML的方法: 
     对于事件,获取触发该事件的对象:
     IE     : window.Event.srcElement
     Firefox:e.target   //e是函数传入的事件参数
  获取触发事件的对象的InnerHTML:
  getClickPageNumber=function(e){
   return Try.these(
    function() {return window.event.srcElement.innerHTML},
    function() {return e.target.innerHTML}
 ) ;
  }
  修改onclick:
  div.onclick=function(e){
   alert(getClickPageNumber(e));
  }
 
4.清除html的table中tbody中的内容.
  <tbody id="tBody">
   <tr>
    <td>a</td>
    <td>b</td>
   </tr> 
  </tbody>
  代码:
  $("tBody").innerHTML="";
  上面的代码在IE中是没有效果的.
  修改:
  while (tBody.rows.length > 0) {
 tBody.deleteRow(0);
  }
posted @ 2006-03-13 17:32 swingboat 阅读(450) | 评论 (0) | 编辑 收藏
 
仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页 
 
<2025年6月>
日一二三四五六
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

 公告


 导航

  • BlogJava
  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 51
  • 文章: 1
  • 评论: 50
  • 引用: 0

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(4)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • JAVA(21) (rss)
  • javascript&DHTML&CSS(15) (rss)
  • Oracle/MySQL(6) (rss)
  • SOA(1) (rss)
  • WEB2.0(4) (rss)
  • WorkFlow&BPEL(1) (rss)
  • 名词概念(1) (rss)
  • 架构模式 (rss)
  • 汽车&甲壳虫 (rss)
  • 设计模式(3) (rss)
  • 软件工程(1) (rss)

随笔档案

  • 2007年9月 (1)
  • 2007年8月 (3)
  • 2007年7月 (1)
  • 2007年5月 (2)
  • 2007年4月 (4)
  • 2007年3月 (1)
  • 2007年2月 (1)
  • 2006年12月 (1)
  • 2006年11月 (2)
  • 2006年10月 (1)
  • 2006年8月 (1)
  • 2006年4月 (1)
  • 2006年3月 (2)
  • 2006年2月 (4)
  • 2005年12月 (26)

文章档案

  • 2006年1月 (1)

IT

  • Delver 's Study BLOG
  • 竹笋炒肉

搜索

  •  

积分与排名

  • 积分 - 133133
  • 排名 - 466

最新随笔

  • 1. IE对select的处理,又一怪现象:innerHTML竟然不起作用。
  • 2. 在IE下,页面只有一个text的时候,回车将自动submit。
  • 3. 设置input的内容居中?
  • 4. 可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?
  • 5. 利用JGroups同步两台server之间的cache。
  • 6. 有关“+”和“_”的search。
  • 7. synchronized的作用
  • 8. HTML的特殊字符
  • 9. 不同时区之间,时间的转换?
  • 10. javascript在IE和Firefox中的区别1

最新评论

  • 1. re: javascript转换日期字符串为Date对象
  • 大牛
  • --sfafa
  • 2. re: synchronized的作用[未登录]
  • 把100换成1000就好了!
  • --xyz
  • 3. re: synchronized的作用
  • 晦涩难懂!
  • --无知者
  • 4. re: synchronized的作用
  • 好
  • --白河夜歌
  • 5. re: 可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?
  • 评论内容较长,点击标题查看
  • --老梁

阅读排行榜

  • 1. javascript转换日期字符串为Date对象(47715)
  • 2. synchronized的作用(16408)
  • 3. 可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?(11093)
  • 4. 不同时区之间,时间的转换?(7455)
  • 5. 利用JGroups同步两台server之间的cache。(6606)

评论排行榜

  • 1. synchronized的作用(18)
  • 2. 可恶的“本页不但包含安全的内容,也包含不安全的内容。是否显示不安全的内容”对话框?(7)
  • 3. javascript在IE和Firefox中的区别1(6)
  • 4. javascript转换日期字符串为Date对象(4)
  • 5. 在IE下,页面只有一个text的时候,回车将自动submit。(3)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 swingboat