`

仿google个性主页

    博客分类:
  • J2EE
阅读更多

<html>
<head>
<title>DRAG the DIV</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
*{font-size:12px}
.dragTable{
 font-size:12px;
 border-top:1px solid #3366cc;
 margin-bottom: 10px;
 width:100%;
 background-color:#FFFFFF;
}
td{vertical-align:top;}
.dragTR{
 cursor:move;
 color:#7787cc;
 background-color:#e5eef9;
 height:20px;
 padding-left:5px;
 font-weight:bold;
}
#parentTable{
 border-collapse:collapse;
 letter-spacing:25px;
}
</style>
<script defer>

 var Drag={dragged:false,
  ao:null,
  tdiv:null,
dragStart:function(){
 Drag.ao=event.srcElement;
 if((Drag.ao.tagName=="TD")||(Drag.ao.tagName=="TR")){
  Drag.ao=Drag.ao.offsetParent;
  Drag.ao.style.zIndex=100;
 }else
  return;
 Drag.dragged=true;
 Drag.tdiv=document.createElement("div");
 Drag.tdiv.innerHTML=Drag.ao.outerHTML;
 Drag.ao.style.border="1px dashed red";
 Drag.tdiv.style.display="block";
 Drag.tdiv.style.position="absolute";
 Drag.tdiv.style.filter="alpha(opacity=70)";
 Drag.tdiv.style.cursor="move";
 Drag.tdiv.style.border="1px solid #000000";
 Drag.tdiv.style.width=Drag.ao.offsetWidth;
 Drag.tdiv.style.height=Drag.ao.offsetHeight;
 Drag.tdiv.style.top=Drag.getInfo(Drag.ao).top;
 Drag.tdiv.style.left=Drag.getInfo(Drag.ao).left;
 document.body.appendChild(Drag.tdiv);
 Drag.lastX=event.clientX;
 Drag.lastY=event.clientY;
 Drag.lastLeft=Drag.tdiv.style.left;
 Drag.lastTop=Drag.tdiv.style.top;
},

 draging:function(){//重要:判断MOUSE的位置
 if(!Drag.dragged||Drag.ao==null)return;
 var tX=event.clientX;
 var tY=event.clientY;
 Drag.tdiv.style.left=parseInt(Drag.lastLeft)+tX-Drag.lastX;
 Drag.tdiv.style.top=parseInt(Drag.lastTop)+tY-Drag.lastY;
 for(var i=0;i<parentTable.cells.length;i++){
  var parentCell=Drag.getInfo(parentTable.cells[i]);
  if(tX>=parentCell.left && tX<=parentCell.right && tY>=parentCell.top && tY<=parentCell.bottom){
   var subTables=parentTable.cells[i].getElementsByTagName("table");
   if(subTables.length==0){
    if(tX>=parentCell.left && tX<=parentCell.right && tY>=parentCell.top && tY<=parentCell.bottom){
     parentTable.cells[i].appendChild(Drag.ao);
    }
    break;
   }
   for(var j=0;j<subTables.length;j++){
    var subTable=Drag.getInfo(subTables[j]);
    if(tX>=subTable.left && tX<=subTable.right && tY>=subTable.top && tY<=subTable.bottom){
     parentTable.cells[i].insertBefore(Drag.ao,subTables[j]);
     break;
    }else{
     parentTable.cells[i].appendChild(Drag.ao);
    }
   }
  }
 }
}
,
 dragEnd:function(){
 if(!Drag.dragged)return;
 Drag.dragged=false;
 Drag.mm=Drag.repos(150,15);
 Drag.ao.style.borderWidth="0px";
 Drag.ao.style.borderTop="1px solid #3366cc";
 Drag.tdiv.style.borderWidth="0px";
 Drag.ao.style.zIndex=1;
},
getInfo:function(o) {//取得坐标
 var to=new Object();
 to.left=to.right=to.top=to.bottom=0;
 var twidth=o.offsetWidth;
 var theight=o.offsetHeight;
 while(o!=document.body){
  to.left+=o.offsetLeft;
  to.top+=o.offsetTop;
  o=o.offsetParent;
 }
  to.right=to.left+twidth;
  to.bottom=to.top+theight;
 return to;
},
repos:function(aa,ab){
 var f=Drag.tdiv.filters.alpha.opacity;
 var tl=parseInt(Drag.getInfo(Drag.tdiv).left);
 var tt=parseInt(Drag.getInfo(Drag.tdiv).top);
 var kl=(tl-Drag.getInfo(Drag.ao).left)/ab;
 var kt=(tt-Drag.getInfo(Drag.ao).top)/ab;
 var kf=f/ab;
 return setInterval(function(){if(ab<1){
       clearInterval(Drag.mm);
       Drag.tdiv.removeNode(true);
       Drag.ao=null;
       return;
      }
     ab--;
     tl-=kl;
     tt-=kt;
     f-=kf;
     Drag.tdiv.style.left=parseInt(tl)+"px";
     Drag.tdiv.style.top=parseInt(tt)+"px";
     Drag.tdiv.filters.alpha.opacity=f;
    }
,aa/ab)
},
 inint:function() {//初始化
 for(var i=0;i<parentTable.cells.length;i++){
  var subTables=parentTable.cells[i].getElementsByTagName("table");
  for(var j=0;j<subTables.length;j++){
   if(subTables[j].className!="dragTable")break;
   subTables[j].rows[0].className="dragTR";
   subTables[j].rows[0].attachEvent("onmousedown",Drag.dragStart);
  }
 }
 document.onmousemove=Drag.draging;
 document.onmouseup=Drag.dragEnd;
}
//end of Object Drag
}
Drag.inint();

function _show(str){
 var w=window.open('','');
 var d=w.document;
 d.open();
 str=str.replace(/=(?!")(.*?)(?!")( |>)/g,"=\"$1\"$2");
 str=str.replace(/(<)(.*?)(>)/g,"<span style='color:red;'><$2></span><br />");
 str=str.replace(/\r/g,"<br />\n");
 d.write(str);
}
</script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="10" width="100%" height=500 id="parentTable">
<tr >
 <td width="25%" valgin="top">
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td><b>GMAIL</b></td>
   </tr>
   <tr>
    <td>暂时无法显示GMAIL内容</td>
   <tr>
  </table><table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>新浪体育</td>
   </tr>
   <tr>
    <td>解剖威队独门利器FW28 2万转引擎匹配超级变速器颁奖:辛吉斯欣喜能以冠军起步<br/> 印度搭档创下纪录法新社前瞻冬奥短道速滑:中韩唱主角 美加施冷箭</td>
   <tr>
  </table>
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>焦点</td>
   </tr>
   <tr>
    <td>京广线中断4小时20临客返汉晚点 中国新闻网-湖北分社 - 所有 235 相关报道 ?哈马斯已有总理人选
                解放日报报业集团 - 所有 489 相关报道 ?陈水扁是两岸关系麻烦制造者 武汉晨报 - 所有 179 相关报道 ?</td>
   <tr>
  </table>
 </td>
 <td width="25%">
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>中关村在线</td>
   </tr>
   <tr>
    <td>新年行情速递 双敏板卡低价推荐 终于等到了,映泰6600GT一降降一百 罗技G15游戏键盘热力促销,代购价仅529元 </td>
   <tr>
  </table></td>
 <td width="25%">
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>网易商业</td>
   </tr>
   <tr>
    <td>上海GDP增幅去年出现回落应对反倾销 中国鞋企联手对抗欧盟尹家绪操盘南方汽车 长安谋求曲线整体境外上市</td>
   <tr>
  </table>  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>黑可天下</td>
   </tr>
   <tr>
    <td>上海GDP增幅去年出现回落应对反倾销 中国鞋企联手对抗欧盟尹家绪操盘南方汽车 长安谋求曲线整体境外上市</td>
   <tr>
  </table>
 </td>
</tr>
</table>
<input type="button" value="SHOW" onClick="_show(document.documentElement.innerHTML)" />
</body>
</html>

分享到:
评论

相关推荐

    仿Google个性首页的自定义页面布局

    仿Google个性首页的自定义页面布局,自由拖动,个性布局

    仿google个性化首页模块拖拽效果

    ### 仿Google个性化首页模块拖拽效果解析 #### 背景与意义 随着Web技术的发展,用户界面的交互性和个性化需求越来越高。本案例“仿google个性化首页模块拖拽效果”旨在实现一种类似Google首页的功能模块,即允许...

    仿google日历中文版

    【仿google日历中文版】是一款专为中文用户设计的日历应用,旨在提供与Google日历相似的功能体验,便于用户管理个人时间、安排任务和跟踪重要事件。此应用结合了Google日历的优点,并针对中文用户进行了本地化优化,...

    仿Google炫酷导航

    综上所述,实现一个仿Google炫酷导航需要综合运用前端开发技术,包括HTML、CSS、JavaScript,以及对用户体验、动画性能和交互设计的理解。同时,不断跟进最新的Web技术趋势,以便为用户提供更加独特和个性化的导航...

    仿google的地图

    【仿 Google 地图】 Google 地图以其精美的界面、强大的功能以及广泛的应用而备受瞩目。对于许多开发者和爱好者来说,尝试创建类似的功能成为了一项有趣的挑战。本篇文章将探讨如何利用 Google Maps API 实现一个仿...

    超酷仿GOOGLE首页导航菜单效果

    ### 超酷仿GOOGLE首页导航菜单效果 #### 知识点概述 本文将详细介绍一个仿照Google首页设计的导航菜单实现方案。该菜单具备动态加载、响应式设计等功能,能够为用户提供流畅且美观的浏览体验。通过分析提供的部分...

    不错的仿谷歌导航条源码

    标题中的“不错的仿谷歌导航条源码”指的是一个模仿谷歌网站顶部导航栏的代码实现,通常包括了导航链接、下拉菜单、响应式设计等特性。这种源码可以帮助开发者快速构建具有类似谷歌风格的网站头部导航,提升用户体验...

    仿Google提示查询

    【标题】"仿Google提示查询"涉及的知识点主要集中在搜索引擎优化(SEO)和用户体验设计上。在互联网搜索中,Google提示查询,也被称为自动补全或预测搜索,是一种功能,它能够根据用户在搜索框中输入的部分关键词,...

    仿Google风格地图符号库_V2.0 for Arc.rar

    《仿Google风格地图符号库V2.0 for ArcGIS》是一款专为ArcGIS10设计的地图样式资源,它旨在提供与Google Maps相似的视觉效果,让使用者能够在ArcGIS平台上创建出具有Google风格的地图。这款符号库是地图制图者和地理...

    仿google+在列表滚动的时候显示或者隐藏标题栏

    在Android应用开发中,"仿google+在列表滚动的时候显示或者隐藏标题栏"是一个常见的交互设计,它提供了良好的用户体验,增强了界面的动态感。这种效果通常被称为“抽屉式”或者“滑动隐藏”标题栏,它使得标题栏在...

    掌万 仿谷歌 手机软件

    综上所述,【掌万 仿谷歌 手机软件】不仅带来了谷歌式的用户界面,还注重用户体验的提升,通过优化操作、整合功能、个性化设置等方式,为PPC手机用户提供了更加优质的使用体验。同时,丰富的皮肤资源和社区支持也...

    一个仿百度、Google、谷歌搜索引擎自动补全

    综上所述,构建一个仿百度、Google、谷歌的搜索引擎自动补全系统,涉及到的关键技术包括但不限于:关键词匹配算法、数据库管理、前端交互设计、后端服务开发、个性化推荐以及系统架构优化。每个环节都需要精心设计和...

    仿Google+、GoogleNow加载中的SmoothProgressBar

    SmoothProgressBar是Android开发中一种美观且实用的进度条控件,它模仿了Google+和GoogleNow应用中的加载动画效果,提供了平滑、动态的显示方式,增强了用户界面的交互体验。在Android应用开发中,这样的组件可以...

    仿google动态导航

    【标题】"仿google动态导航"是一个利用JavaScript和CSS技术实现的网页交互效果,它巧妙地模拟了Google网站上的导航菜单动态展示的方式。这个项目展示了前端开发者如何通过这两种技术创造出富有动态感和视觉吸引力的...

    仿Google小工具jQuery拖动特效.zip

    【标题】"仿Google小工具jQuery拖动特效.zip"是一个基于jQuery库的代码资源,它旨在实现类似Google小工具的可拖动效果。这个小工具主要用于创建交互式的、用户可以自由调整位置的界面元素,提升网页的用户体验。通过...

    仿google页面拖拽

    在实际项目中,"仿google页面拖拽"可能还涉及到其他方面,比如性能优化,避免频繁的DOM操作导致页面渲染卡顿,或者在移动设备上适配触摸操作。总的来说,这个项目涵盖了前端开发中的多个关键技术和实践,对于提升...

    仿google自定义拖拽布局(jQuery)

    本教程将聚焦于一个特定的主题:“仿google自定义拖拽布局”。这种布局技术允许用户通过鼠标拖动来调整元素的位置,从而实现高度互动和个性化的界面设计。 首先,我们要理解“拖拽”(Drag and Drop)功能的基本...

    网站导航(仿Google)_搜索链接应用程序.rar

    【标题】"网站导航(仿Google)_搜索链接应用程序.rar" 提供的是一个模仿谷歌搜索引擎的网站导航应用。这种应用通常集成了多个搜索引擎的功能,让用户在单一界面下方便地进行多种搜索,提高网络浏览效率。 【描述】...

    Asp做好的iframe仿google提示源码

    标题中的"Asp做好的iframe仿google提示源码"是指使用Active Server Pages (ASP)技术创建的一个Web应用程序,它模仿了Google搜索框中的自动提示功能。这个应用可能通过一个IFrame(内联框架)来实现,IFrame允许在同...

Global site tag (gtag.js) - Google Analytics