`

JavaScript与displayTag标签的合作 -- 操作表头(续)

阅读更多

     上一篇里写了定位到目标表头与onmouseover的调用成功, 今天再接着把最后的一步写出来.
 
     这样的例子是见过不少,但自己没有动手写过, 现在回过头看看第三步涉及到"方框的显示与否"和"方框的定位", 方框的显示通过修改那个div里style的display属性就OK了,   于是就有了:
            function displayDiv(layerElment,isDisplay){

        //alert(isDisplay);
        layerElment.style.display = isDisplay
    }

      参数的layerElement就是要显示的那个方框, 也就是页面中自己空的div: <div id="Layer1" />,定义CSS时, 这里的采用与ID绑定的方式也就是"#Layer1".
      参数isDisplay用来控制方框的显示与否, 只有"block"和"none"两种.

    方框的定位我费了不少周折, 原因是以前没用过CSS里的position属性, 刚开始时想用"relative",但它又relative谁呢?肯定是鼠标的当前位置了,但怎么让那个方框知道它要向鼠标当前位置看齐呢? ...... 后来干脆用absolute吧, 刚开始没显示时, 方框的位置是窗口的左上角, 这样用了下面的方法:

    function locateDiv(layerElment,x,y){
        layerElment.style.left = x;
        layerElment.style.top = y-100;
    }
  layerElment还是要显示的方框, x和y分别对应屏幕上鼠标的当前位置, 通过style.left和style.top属性就给方框定了位. 


 这样全部功能就写完了. 代码不多, 不过当时写时, 前前后后地试写了不少弯路代码, 当然也不少感悟.

 1, 第一次在HTML中用层的技术.层这个概念在玩flash和photoshop时接触过点, 没有专门学过HTML,当然也没有用过了.现在有了这个层的体验后,一下子明白了那些很酷网站是怎么做出来的了.原来在HTML里用层+ javaScript可以做那么绚丽的图案.
 2, 第一次有点写JavaScript框架的感觉. JavaScript框架用过些,像jQuery,dojo,prototype,ext.用多了,回头想想他们的传参方式,觉得像下面这样的CSS定义是可以作为参数传过来.
        <style type="text/css">

        <!--
        #Layer1 {
       
        position:absolute;
        left:0;
        top:0;
        width:100px;
        height:80px;       
        z-index:1;
        background-color: yellow;   
        display:none   
        }
        -->

        </style>
    怎么来传CSS这样的参数呢? 传进来后JavaScript又该用怎么数据结构来封装它们呢? 这个问题先留下, 以后看别人JavaScript框架时多多注意.
        
    <div id="Layer1" />,用户不必在HTML中自己定义出.完全可以参照DWR里方法: 先判断下,如果有就直接用, 没有的话通过document.createElement来创建一个.

    var disabledZone = dwr.util.byId('disabledZone');
    if (!disabledZone) {
          disabledZone = document.createElement('div');
          disabledZone.setAttribute('id', 'disabledZone');
          ..............
    }

  

    有了上面的这些后, 我的"创做"就更像一个框架了.呵呵...

    刚才看DWRUnit的源码时,又发现一个JavaScript技巧:

        function useLoadingMessage (message) {

  var loadingMessage;
  if (message) loadingMessage = message;  // 可能判断用户在调用useLoadingMessage时是否传参.前两天我是通过 if( message != undifined)来判断的.
  else loadingMessage = "Loading";
.............
}

    又得到一条向成熟框架学习的心得: 多写, 多看人家是怎么实现的. 只有多写才能体会到问题的存在, 若自己体会不到问题,永远都会觉得那些框架也就那样,没什么了不起的;多看人家是怎么实现的,只有这样才能弥补自己的不足,使自己更快地提高. 

分享到:
评论
2 楼 lifesinger 2008-10-30  
一般不建议直接在js中操作style
最好通过css来控制style
js要控制样式的话,改变class就可以了

这样保证了解耦,灵活性也更高

可以参考下这个ppt: http://lifesinger.org/blog/?p=16
1 楼 rmn190 2008-10-30  
不错,我想起来了, 以前看别人写的JavaScript框架时有这样的写法.当时还挺疑惑的, 现在过渡过来了.

相关推荐

    JavaScript与displayTag标签的合作 -- 操作表头.

    在“JavaScript与displayTag标签的合作 —— 操作表头”这一主题中,我们主要探讨的是如何利用JavaScript与displayTag库协同工作,实现动态操作表格的表头。在Web开发中,表头通常包含列的标题,用户可能希望对其...

    JavaScript与displayTag标签的合作 -- 操作表头(二)

    在"JavaScript与displayTag标签的合作 -- 操作表头(二)"这个主题中,我们主要关注的是如何利用JavaScript来实现对表格表头的动态操作,比如改变列宽、隐藏或显示列、添加自定义事件等。 1. **动态调整列宽**:...

    用JavaScript操作displayTag表头操作

    这篇博客“用JavaScript操作displayTag表头操作”显然关注的是如何利用JavaScript来操纵一个名为`displayTag`的表格库的表头功能。DisplayTag是一个功能丰富的开源Java Web组件库,它提供了一种强大的方式来展示表格...

    displaytag-jar.rar_Displaytag.jar_displaytag_displaytag 1.2 jar_

    除此之外,可能还需要其他依赖的jar包,例如与数据库操作相关的驱动,这取决于具体的应用需求。 "displaytag-1.2-bin"标签表明这是Displaytag 1.2的二进制发行版,通常包含完整的库文件和必要的文档。在压缩包`jar...

    displaytag-DEMO.zip_DEMO_displaytag de_displaytag demo_displayta

    DisplayTag是一个基于JSP标签库的组件,它的主要目标是提供一个易用且强大的表格显示解决方案。它不仅支持基本的HTML表格,还提供了一些高级特性,如分页、排序、导出、国际化和自定义样式。 2. **分页** 在大型...

    displaytag

    在标签中再次强调了"displaytag",这表明该压缩包与DisplayTag库紧密相关。 压缩包中的"displaytag"文件夹可能包含了DisplayTag库的所有组件,如JAR文件、文档、示例和其他支持文件。开发者通常会将JAR文件添加到...

    displaytag详细用法(中文问题已解决)

    这通常与字符编码设置有关,需要确保JSP页面、Servlet容器、数据库以及DisplayTag自身的配置文件(如displaytag.properties)都采用相同的UTF-8编码。 4. **解决方案**:解决DisplayTag中文乱码问题,通常需要修改`...

    displaytag分页jar包和使用说明

    1. **表格展示**:DisplayTag可以轻松地创建出具有排序、过滤、格式化等功能的复杂表格,只需要在JSP页面中添加少量的标签就能实现。 2. **国际化支持**:DisplayTag内置了对多种语言的支持,方便创建多语言的Web...

    dispalytag demo

    - **源代码**:可能有Java类,用于处理数据和与DisplayTag交互。 - **JSP页面**:展示DisplayTag使用的JSP文件,其中包含DisplayTag的标签实例。 - **CSS和JavaScript**:可能有自定义的样式表和脚本文件,用于调整...

    display tag使用总结文档

    Display Tag是Java Web开发中的一款强大且功能丰富的开源表格标签库,它为开发者提供了一种在JSP页面中处理和展示表格数据的高效方式。这个使用总结文档将深入探讨Display Tag的功能、配置、使用方法以及常见问题的...

    displaytag,dhtmlXGrid,eXtremeComponents哪个更好?

    首先,displaytag是一个开源的JSP标签库,专门用于创建复杂的表格和数据展示。它支持分页、排序、国际化、导出等多种功能,并且易于集成到现有的Java Web应用中。Displaytag的优点在于其简洁的语法和对各种Web框架...

    diplaytag分页控件

    2. **创建JSP页面**:在JSP页面中引入DisplayTag的标签库,并使用`&lt;display:table&gt;`标签来定义表格。 3. **设置属性**:配置`&lt;display:table&gt;`的属性,如`id`(表格ID)、`name`(数据源)、`pagesize`(每页显示的...

    eXtremeComponents参考文档

    与传统的displaytag相比,eXtremeComponents提供了更丰富的特性,如自定义样式、过滤和排序等功能。 #### 3. TableTag ##### 3.1 引言 TableTag是eXtremeComponents的核心组件之一,用于渲染表格。它提供了多种选项...

Global site tag (gtag.js) - Google Analytics