类似博客中拖动模块代码

<html>
<head>
<title>移动的窗口</title>
<style>
*{font-size:12px}
.dragTable{
 font-size:12px;
 border-top:1px solid #3366cc;
 margin-bottom: 10px;
 width:100%;
 background-color:#FFFFFF;
}
.dragTR{
 cursor:move;
 color:#7787cc;
 background-color:#e5eef9;
}
td{vertical-align:top;}
#parentTable{
 border-collapse:collapse;
 letter-spacing:25px;
}
</style>
 
<script  defer>
 var draged=false;
 tdiv=null;
function dragStart(){
 ao=event.srcElement;
 if((ao.tagName=="TD")||(ao.tagName=="TR"))ao=ao.offsetParent;
 else return;
 draged=true;
 tdiv=document.createElement("div");
 tdiv.innerHTML=ao.outerHTML;
 tdiv.style.display="block";
 tdiv.style.position="absolute";
 tdiv.style.filter="alpha(opacity=70)";
 tdiv.style.cursor="move";
 tdiv.style.width=ao.offsetWidth;
 tdiv.style.height=ao.offsetHeight;
 tdiv.style.top=getInfo(ao).top;
 tdiv.style.left=getInfo(ao).left;
 document.body.appendChild(tdiv);
 lastX=event.clientX;
 lastY=event.clientY;
 lastLeft=tdiv.style.left;
 lastTop=tdiv.style.top;
 try{
  ao.dragDrop(); 
 }catch(e){}
}
function draging(){//重要:判断MOUSE的位置
 if(!draged)return;
 var tX=event.clientX;
 var tY=event.clientY;
 tdiv.style.left=parseInt(lastLeft)+tX-lastX;
 tdiv.style.top=parseInt(lastTop)+tY-lastY;
 for(var i=0;i<parentTable.cells.length;i++){
  var parentCell=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(ao);
    }
    break;
   }
   for(var j=0;j<subTables.length;j++){
    var subTable=getInfo(subTables[j]);
    if(tX>=subTable.left&&tX<=subTable.right&&tY>=subTable.top&&tY<=subTable.bottom){
     parentTable.cells[i].insertBefore(ao,subTables[j]);
     break;
    }else{
     parentTable.cells[i].appendChild(ao);
    } 
   }
  }
 }
}

function dragEnd(){
 if(!draged)return;
 draged=false;
 mm=ff(150,15);
}
function getInfo(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;
}
function ff(aa,ab){//从GOOGLE网站来,用于恢复位置
 var ac=parseInt(getInfo(tdiv).left);
 var ad=parseInt(getInfo(tdiv).top);
 var ae=(ac-getInfo(ao).left)/ab;
 var af=(ad-getInfo(ao).top)/ab;
 return setInterval(function(){if(ab<1){
       clearInterval(mm);
       tdiv.removeNode(true);
       ao=null;
       return
      }
     ab--;
     ac-=ae;
     ad-=af;
     tdiv.style.left=parseInt(ac)+"px";
     tdiv.style.top=parseInt(ad)+"px"
    }
,aa/ab)
}
function inint(){//初始化
 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",dragStart);
   subTables[j].attachEvent("ondrag",draging);
   subTables[j].attachEvent("ondragend",dragEnd);
  }
 }
}
inint();

</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>AJAX</td>
   </tr>
   <tr>
    <td id="div4"></td>
   <tr>
  </table>
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>datagrid</td>
   </tr>
   <tr>
    <td id="div5"></td>
   <tr>
  </table>
  <table border=0 class="dragTable" cellspacing="0">
    <tr>
      <td>asp.net</td>
    </tr>
    <tr>
      <td id="div3"></td>
    <tr>
    </table></td>
 <td width="25%">
  <table border=0 class="dragTable" cellspacing="0">
   <tr>
    <td>C#.net</td>
   </tr>
   <tr>
    <td id="div2" > </td>
   <tr>
  </table></td>
 <td width="25%">
  <table border=0 class="dragTable" cellspacing="0"  id="td3">
   <tr>
    <td  >javascrip<a href="#" onClick="document.all.td3.style.display='none'" onMouseDown="document.all.imag1.src='Icon2.gif'" onMouseUp="document.all.imag1.src='Icon.gif'" onFocus="this.blur()" ><img src="Icon.gif" width="16" height="14" id="imag1" border="0"></a></td>
   </tr>
   <tr>
    <td id="dv" ><div id="div10" ></div></td>
   <tr>
  </table>
 </td>
</tr>
</table>
</body>
</html>

时间: 2024-09-16 07:55:56

类似博客中拖动模块代码的相关文章

csdn 博客中实现运行代码功能实现_javascript技巧

因为没有运行功能,所以想在页面中实现运行代码功能,下面的代码是个不错的实现方法,当然你也可以任何你想实现代码运行功能的地方使用. 复制代码 代码如下: <p> <script type="text/javascript"><!-- function viewPage(html) {     var page = window.open('', '', '');     page.opener = null;     page.document.write(

在博客中显示不走样的代码

在日常的代码开发中.习惯于在自己的代码编辑器里设置自己喜欢的代码字体及颜色.在写博客的过程中,有不可避免的要粘贴一些自己写的代码.问题就来了,往往在博客中提供的代码显示工具显示的代码格式和之前在代码编辑器里就发生了变化.虽不是什么大问题,但总是觉得有点不舒服. 本人用的编辑器是VS系列.一次在无意中将代码复制后,贴到写字板中,发现格式没有发生变化,将文件保存后,用记事本打开,发现是保存为Rtf格式.也就是说,在VS中复制代码,实际内存中保存着该代码的Rtf格式,这样也就是保留了该代码的格式.那么

博客中添加日历的php代码

想不想在你得博客中添加日历啊?blue1000在这里跟大家简洁的分享一款PHP中博客日历实现代码,有需要的朋友参考一下,里面有一句是查询数据库的这个很简单,你只要修改一下字段名与你数据库相同就行了. 代码如下: function calendarnew($starttime = 0) { global $db, $tablepre, $timestamp, $site_timeoffset, $site_dateformat, $curtime; $starttime = $starttime

借用Snippet插件美化博客中的代码

书写博客,难免要贴出代码.然而直接贴出代码,则不美观.于是,应运而生出现了很多代码美化的插件.其中比较有名的是Syntax Highlighting插件.   笔者在网上翻阅的时候发现了Snippet插件,其支持众多的代码类的美化--例如:HTML.CSS.JS.C#等.并有39种不同的美化风格可供选择. 其官网地址:Snippet插件官网.在官网上,已经比较详细的介绍了插件的使用方法,这里就不在赘述了.   和许多美化插件一样,该插件是基于JQuery的,故在使用的时候,要先引用相关的文件,如

如何使用C#实现网易博客中圈子用户数据的采集

新浪博客,网易博客,都是博客中的佼佼者,其中网易提供的圈子信息,更胜一筹,使得一般用户能够通过访问圈子进入相关的群组,或者获取相关圈子用户的信息等,以实现各种精准营销的目的.虽然新浪遮遮掩掩不提供圈子的相关信息,相对而言,网易博客提供圈子,能够使得更多的人.更多的程序支持,推高博客的知名度及实用性.网易博客可以通过地址http://q.163.com/ 访问,它是经过两级分类的,如下所示.    点击分类进入即可查看到每个子分类都有很多圈子,圈子累死QQ的群组,是某一兴趣团体的博客,里面收集很多

Asp.net如何制作博客中的热门标签排名和搜索?

问题描述 各位高手大侠们,我是个处涉此道的新手,从事Asp.net开发时间不长.能不能有哪为前辈教教晚辈,现在类似博客网中的那些日志的热门标签的排名都是怎么做的啊?有人告诉我是直接从数据库里搜索,然后读出来并记数,那是不是效率太低了?比如说日志表中有100万条数据,每条数据都有0--5个标签不等,而且这些标签可能重复.那如果直接从数据库里读,是不是效率太低了?现实中的做法应该是怎么样呢?盼望有前辈能赐教!谢谢了!或者有什么例子请您不吝赏给在下wangdaojiufu@126.com小的在这里谢过

如何在wordpress博客中添加炫酷的加载中动画特效

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 一个优秀的博客不仅仅要给读者得到想要的知识或内容,也应该给予读者阅读时的享受.因为有些朋友的网速很慢,而博客中的图片等内容挺多的,所以在网页打开时往往需要等半天,如果此时能够显示一个漂亮的入场动画,也许可以缓解等待网页打开的无奈感.今天就来分享一下周叔博客的加载动画特效. 特效的实现并不麻烦,简单来说就是用几个层来遮罩页面,然后在这个层之上添

博客中国将是电子商务的另一个繁荣时代

硅谷网讯 百度刚刚上线了自己的生活平台,我们从平台上线时百度公布的一些数据,http://www.aliyun.com/zixun/aggregation/11249.html">博客中国http://zs.chinaboke.cn看到其中蕴含的网民需求:百度大概每天有7亿次左右的检索,其中和生活消费相关的大概有4成,这4成中包括两部分:一部分是"商品信息",对应的是网络购物,大概占3成,另一部分则是更宽泛的生活服务信息,类似婚庆.教育.娱乐等,占到了7成.这说明一点:

第21天,慎重处理博客中的负面评论

第21天,慎重处理博客中的http://www.aliyun.com/zixun/aggregation/11885.html">负面评论 前几天,一位朋友找到我,希望我对博客中的负面评论的解决给一些建议,他不知道直接删除是不是合适. 其实类似情况很多人在经营博客中会遇到.这时候我们首先是要分清负面评论的类型,它们是批评企业产品质量有瑕疵?是批评服务不佳?是批评流程上管理不当?是批评企业本身就是不诚信或者违法?我们在分清了问题类型以后,就要坦然站出来给予回复,并且越快越好. 我们一起来看一