仿google首页可拖动图层动态添加删除特效

1个月前 (04-11 15:02)阅读35回复0
大陆
大陆
  • 管理员
  • 发消息
  • 注册排名1
  • 经验值4714
  • 级别管理员
  • 主题942
  • 回复2
楼主

js实现图层可拖动及动态添加删除特效,让用户轻轻松松点击链接即可,这个图层动态添加特效兼容当前主流浏览器。

<!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=gb2312">
<meta name="keywords" content="武鸣人网站,武鸣信息网,武鸣本地网,武鸣信息资源平台,减肥,健身,励志,励志语录,js特效,网页特效,www.wuming.ren">
<meta name="description" content="欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。">
<title>仿google首页可拖动图层动态添加删除特效_武鸣人</title>
<style type="text/css">
body{margin:0px;padding:0px;font-size:12px;text-align:center;}
body > div{text-align:center;margin-right:auto;margin-left:auto;} 
.content{width:900px;}
.content .left{float:left;width:200px;border:1px solid #FF0000;margin:3px;}
.content .center{float:left;border:1px solid #FF0000;margin:3px;width:470px;}
.content .right{float:right;width:200px;border:1px solid #FF0000;margin:3px;}
.mo{height:auto;border:1px solid #CCC;margin:3px;background:#FFF;}
.mo h1{background:#ECF9FF;height:18px;padding:3px;cursor:move;}
.mo .nr{height:80px;border:1px solid #F3F3F3;margin:2px;}
h1{margin:0px;padding:0px;text-align:left;font-size:12px;height:20px;}
h1 span{float:left;}
h1 font{float:right;cursor:pointer;}
</style>
<script language="javascript">
var dragobj={}
window.onerror=function(){return false}
window.oDel=function(obj){if($(obj)!=null){$(obj).parentNode.removeChild($(obj))}}
var domid=12
function on_ini(){
    String.prototype.inc=function(s){return this.indexOf(s)>-1?true:false}
    var agent=navigator.userAgent
    window.isOpr=agent.inc("Opera")
    window.isIE=agent.inc("IE")&&!isOpr
    window.isMoz=agent.inc("Mozilla")&&!isOpr&&!isIE
    if(isMoz){
        Event.prototype.__defineGetter__("x",function(){return this.clientX+2})
        Event.prototype.__defineGetter__("y",function(){return this.clientY+2})
        Event.prototype.__defineGetter__("srcElement",function(){var node=this.target;while(node.nodeType!=1){node=node.parentNode}return node})
    }
    basic_ini()
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function basic_ini(){
    window.$=function(obj){return typeof(obj)=="string"?document.getElementById(obj):obj}
    window.oDel=function(obj){if($(obj)!=null){$(obj).parentNode.removeChild($(obj))}}
}
window.onload=function(){
    on_ini()
    var o=document.getElementsByTagName("h1")
    for(var i=0;i<o.length;i++){
        o[i].onmousedown=addevent
    }
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function addevent(e){
            if(dragobj.o!=null)
                return false
            e=e||event
            var ee=e.srcElement
            if(ee.tagName=="FONT")
                return
            dragobj.o=this.parentNode
            dragobj.xy=getxy(dragobj.o)
            dragobj.xx=new Array((e.x-dragobj.xy[1]),(e.y-dragobj.xy[0]))
            dragobj.o.style.width=dragobj.xy[2]+"px"
            dragobj.o.style.height=dragobj.xy[3]+"px"
            dragobj.o.style.left=(e.x-dragobj.xx[0])+"px"
            dragobj.o.style.top=(e.y-dragobj.xx[1])+"px"            
            dragobj.o.style.position="absolute"
            var om=document.createElement("div")
            dragobj.otemp=om
            om.style.width=dragobj.xy[2]+"px"
            om.style.height=dragobj.xy[3]+"px"
            dragobj.o.parentNode.insertBefore(om,dragobj.o)
            return false
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
document.onselectstart=function(){return false}
window.onfocus=function(){document.onmouseup()}
window.onblur=function(){document.onmouseup()}
document.onmouseup=function(){
    if(dragobj.o!=null){
        dragobj.o.style.width="auto"
        dragobj.o.style.height="auto"
        dragobj.otemp.parentNode.insertBefore(dragobj.o,dragobj.otemp)
        dragobj.o.style.position=""
        oDel(dragobj.otemp)
        dragobj={}
    }
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
document.onmousemove=function(e){
    e=e||event
    if(dragobj.o!=null){
        dragobj.o.style.left=(e.x-dragobj.xx[0])+"px"
        dragobj.o.style.top=(e.y-dragobj.xx[1])+"px"
        createtmpl(e)
    }
}
function getxy(e){
    var a=new Array()
    var t=e.offsetTop;
    var l=e.offsetLeft;
    var w=e.offsetWidth;
    var h=e.offsetHeight;
    while(e=e.offsetParent){
        t+=e.offsetTop;
        l+=e.offsetLeft;
    }
    a[0]=t;a[1]=l;a[2]=w;a[3]=h
return a;
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function inner(o,e){
    var a=getxy(o)
    if(e.x>a[1]&&e.x<(a[1]+a[2])&&e.y>a[0]&&e.y<(a[0]+a[3])){
        if(e.y<(a[0]+a[3]/2))
            return 1;
        else
            return 2;
    }else
        return 0;
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function createtmpl(e){
    for(var i=0;i<domid;i++){
        if(!$("m"+i))
            continue
        if($("m"+i)==dragobj.o)
            continue
        var b=inner($("m"+i),e)
        if(b==0)
            continue
        dragobj.otemp.style.width=$("m"+i).offsetWidth
        if(b==1){
            $("m"+i).parentNode.insertBefore(dragobj.otemp,$("m"+i))
        }else{
            if($("m"+i).nextSibling==null){
                $("m"+i).parentNode.appendChild(dragobj.otemp)
            }else{
                $("m"+i).parentNode.insertBefore(dragobj.otemp,$("m"+i).nextSibling)
            }
        }
        return
    }
    for(var j=0;j<3;j++){
        if($("dom"+j).innerHTML.inc("div")||$("dom"+j).innerHTML.inc("DIV"))
            continue
        var op=getxy($("dom"+j))
        if(e.x>(op[1]+10)&&e.x<(op[1]+op[2]-10)){
            $("dom"+j).appendChild(dragobj.otemp)
            dragobj.otemp.style.width=(op[2]-10)+"px"
        }
    }
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function add_div()
{
    var o=document.createElement("div")
    o.className="mo"
    o.id="m"+domid
    $('dom0').appendChild(o)
    o.innerHTML="<h1><span>武鸣人"+domid+"</span><font onclick='del_div(this)'>x</font></h1><div class=nr>武鸣人提示:新添加的</div>"
    o.getElementsByTagName("h1")[0].onmousedown=addevent
    domid++
}
function del_div(obj){alert(obj.parentNode.parentNode.innerHTML);
    var o=obj.parentNode.parentNode
    oDel(o)
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
function mov(){
document.getElementById("bar").style.display="none";
}
function show(){
document.getElementById("bar").style.display="";
}//武鸣人网站https://www.wuming.ren 网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)
</script>
</head>
<body>
<a href="https://www.wuming.ren">武鸣人</a>,各种信息资源免费发布,分享励志语录经典短句,减肥健身常识,各种js特效代码。网站很好记住,wuming.ren(武鸣拼音.ren域名后缀)<hr>
<!--欢迎来到武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢,分享互联网流行的励志语录经典短句,减肥健身健康小常识及打卡记录,收集各种js特效代码。-->
<script type="text/javascript" src="https://www.wuming.ren/ad/tc.js"></script>
<!--<script type="text/javascript" src="https://www.wuming.ren/ad/a.js"></script>-->
<div id="bar" style="height:400px;background:#eee;">武鸣人信息资源平台,各种信息免费发布,资源共享合作共赢!</div>
<input type="button" value="移除上面模块" onclick="mov();"><input type="button" value="添加顶部模块" onclick="show();"><input type="button" value="添加DIV" onclick="add_div();">
<div class=content>
<div class="left" id="dom0">
<div class="mo" id="m0"><h1><span>武鸣人一号</span><font onclick="del_div(this)">x</font></h1><div class="nr"></div></div>
<div class="mo" id="m1"><h1><span>武鸣人二号</span><font onclick="del_div(this)">x</font></h1><div class="nr"></div></div>
<div class="mo" id="m2"><h1><span>武鸣人三号</span><font onclick="del_div(this)">x</font></h1><div class="nr"></div></div>
<div class="mo" id="m3"><h1><span>武鸣人四号</span><font onclick="del_div(this)">x</font></h1><div class="nr"></div></div>
</div>
<div class="center" id="dom1">
<div class="mo" id="m4"><h1><span>武鸣人五号</span><font onclick="del_div(this)">x</font></h1><div class="nr"></div></div>
<div class="mo" id="m5"><h1><span>武鸣人六号</span>
</h1></div></div></div></body></html>


1
0
收藏0
回帖

仿google首页可拖动图层动态添加删除特效 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息