`

借助css定位实现动态关联的一个例子

阅读更多
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type="text/javascript" src="ext-core.js">
        </script>
    </head>
    <style type="text/css">
        #manager {
            height: 200px;
        }
        
        .server {
            height: 100%;
            width: 20%;
            position: relative;
            float: left;
        }
        
        .server-name {
            height: 20px;
            width: 50px;
        }
        
        .server-body {
            width: 10%;
            height: 160px;
            background-color: blue;
        }
        
        .div-arrows {
            position: absolute;
            width: 90%;
            left: 10%;
            top: 20px;
            height: 100%;
        }
        
        .arrow-from {
            width: 100%;
            height: 16px;
            background: url(from.JPG) no-repeat center right;
            !important
        }
        
        .arrow-to {
            width: 100%;
            height: 16px;
            background: url(to.JPG) no-repeat center left;
            !important
        }
    </style>
    <script type="text/javascript">
    ServerManager = (function(){
        var dh = Ext.DomHelper;
        var el;
        var servers = [];
        return {
			init:function(id){
				el = Ext.get(id);
			},
            addServer: function(name){
				servers.push(name);
                dh.append(el, {
                    cls: 'server',
                    id: name,
                    children: [{
                        cls: 'server-name',
                        html: name
                    }, {
                        cls: 'server-body'
                    }, {
                        cls: 'div-arrows'
                    }]
                });               
            },
            resiveMessge: function(msg){
                var arr = msg.split('-');
                if (this.getIndex(arr[0]) < this.getIndex(arr[1])) {
                	var arrowEl = Ext.fly(arr[0]).child('.div-arrows');
					dh.append(arrowEl,{cls:'arrow-from'});
                }
                else {
                	var arrowEl = Ext.fly(arr[1]).child('.div-arrows');
					dh.append(arrowEl,{cls:'arrow-to'});
                }
            },
            getIndex: function(name){
                var i = servers.indexOf(name);
                if (i == -1) 
                    throw '找不到该服务器';
                return i;
            }
        }
    })()
	
	Ext.onReady(function(){//例子
		ServerManager.init('manager');
		ServerManager.addServer('a');
		ServerManager.addServer('b');
		ServerManager.addServer('c');
		
		ServerManager.resiveMessge('a-b');
		ServerManager.resiveMessge('b-c');
		ServerManager.resiveMessge('c-b');
		
		ServerManager.addServer('d');
		ServerManager.resiveMessge('d-c');
	});
    </script>
    <body>
        <div id="manager">
            
        </div>
    </body>
</html>


效果:

  • 大小: 6.9 KB
分享到:
评论
1 楼 lovehzh 2010-05-07  
谢谢你热情的回复,这个很接近我想要的,能不能在代码上作一点注释,让我理解比较清晰一点,谢谢!

相关推荐

    css3动画详解

    CSS3(Cascading Style Sheets Level 3)是Web样式表语言的一个版本,它引入了许多新的特性和功能,其中包括强大的动画能力。在本分享中,我们将深入探讨CSS3动画的核心概念,理解其背后的机制,并通过实例来展示...

    CSS3美化复选框checkbox

    在这个例子中,我们创建了一个20x20像素的方块作为复选框的视觉表现,并在选中时改变背景颜色和边框颜色,同时增加缩放效果,以模拟被选中的状态。 此外,还可以通过CSS3的`@keyframes`创建动画效果,使复选框在...

    html5 css3制作checkbox多选框选中样式特效

    每个`&lt;input&gt;`标签都包含一个`id`,以便与对应的`&lt;label&gt;`标签关联,提供更好的可访问性和用户体验。`name`属性用于在提交表单时识别一组相关的复选框。 接下来,我们使用CSS3来定制这些复选框的样式。由于浏览器的...

    纯CSS3绘制可旋转的太极图形样式效果源码.zip

    总之,这个“纯CSS3绘制可旋转的太极图形样式效果源码”展示了CSS3在图形绘制和动画制作方面的强大能力,是学习和理解CSS3动画技术的一个好例子。开发者可以通过研究和修改源码,进一步提升自己的CSS3技能,创作出更...

    CSS3翻书效果

    总的来说,CSS3翻书效果是一个展示Web技术前沿动态的好例子,它结合了CSS3的创新特性和JavaScript的交互能力,为Web应用增添了更多互动性和趣味性。虽然在Java标签下提及,但这种效果更多地体现了前端开发的美学和...

    Div+CSS布局自学入门教程[归纳].pdf

    同时,创建一个单独的CSS文件(如`css.css`),用于存储所有样式规则。在CSS文件中,定义每个Div层的样式,如颜色、字体、边界、浮动等属性,以此控制网页的视觉效果。 在实践中,读者需要理解并掌握以下几个关键...

    Js模仿图片实现动画效果.rar

    总的来说,JavaScript实现的图片动画效果是Web开发中的一个重要技能,它结合了DOM操作、CSS样式和事件处理,通过动态更新页面元素实现动态效果,同时还可以借助Ajax技术实现数据的异步加载。这种技术在现代网页设计...

    更换单选按钮样式例子

    要更改单选按钮的样式,通常需要借助CSS(层叠样式表)。由于安全性和浏览器兼容性的原因,直接修改单选按钮的样式是有限制的。然而,有一种常见的技巧是利用CSS伪元素和JavaScript来实现更复杂的定制。以下是一个...

    js的特效例子程序,js图片

    这些特效通过改变DOM元素的属性(如位置、大小、颜色等)或使用CSS3来实现,同时借助JavaScript事件监听,可以响应用户的交互行为,如点击、滚动等。 2. **图片处理**:在JavaScript中,我们可以利用HTML5的Canvas ...

    CSS3圆圈悬浮旋转菜单特效代码

    【CSS3圆圈悬浮旋转菜单特效代码】是一种利用CSS3特性实现的动态菜单设计,它在网页中呈现出独特的视觉效果。这种菜单以圆形为基础布局,菜单项围绕中心点悬浮并可进行旋转展示,增强了用户体验,尤其适用于需要吸引...

    实例化代码

    例如,在JavaScript中,我们可以创建一个名为`DynamicEffect`的类,它包含一个用于实现动态效果的方法: ```javascript class DynamicEffect { constructor(element) { this.element = element; } animate() {...

    backbone+bootstrap+ibatis+spring例子

    结合这四个技术,"backbone+bootstrap+ibatis+spring例子"创建了一个完整的Web应用解决方案,前端利用Backbone.js进行状态管理和界面渲染,Bootstrap提升UI体验,后端则借助Spring处理业务逻辑并与数据库交互。...

    gwt甘特图源码例子

    在GWT应用中,这些数据应存储在一个合适的Java类中,并可能与后台数据库进行交互。 5. **数据绑定**:GWT提供了数据绑定机制,可以将UI组件与数据模型关联起来,当数据改变时,UI会自动更新,反之亦然。这对于实时...

    世界主要国家地区JS三级联动菜单

    JavaScript(简称JS)是一种广泛用于网页和网络应用的编程语言,尤其在动态交互效果方面表现突出。...这个资源不仅可以帮助你实现一个功能完备的菜单系统,同时也是一个深入学习和研究前端技术的好例子。

    C#例子网上订票系统

    本文将深入探讨如何利用C#来构建一个网上订票系统。 首先,我们要理解网上订票系统的功能需求。通常,这样的系统需要包含以下几个核心模块: 1. 用户管理:用户注册、登录、密码找回等功能,确保用户安全便捷地...

    14.(leaflet篇)leaflet波纹点.zip

    标题中的“14.(leaflet篇)leaflet波纹点.zip”表明这是一个关于使用Leaflet库在地图上添加波纹效果的教程或示例。Leaflet是一个轻量级的JavaScript库,用于创建交互式Web地图。波纹效果通常指的是在地图上的特定...

    【JavaScript源代码】Node实现搜索框进行模糊查询.docx

    ### Node.js 实现搜索框进行模糊查询 在本篇文章中,我们将探讨如何使用Node.js来实现一个基于Web的模糊...通过这个例子,我们可以了解到如何使用Node.js和MySQL来开发一个实用的Web应用程序。希望对大家有所帮助!

    custom-radio-btn-css

    在这个例子中,`input[type="radio"]`被隐藏,`label::before`创建了一个圆圈作为单选按钮的视觉表示。当单选按钮被选中时,我们改变`::before`伪元素的背景颜色和边框颜色,以显示选中状态。 此外,`custom-radio-...

    Hammer.js+轮播原理实现简洁的滑屏功能

    5. transition.js是一个与Bootstrap相关联的工具,它可以帮助开发者处理动画结束后的回调事件。由于transition.js默认只兼容jQuery,如果选择使用Zepto(一个轻量级的jQuery替代品),则需要对transition.js进行适当...

Global site tag (gtag.js) - Google Analytics