1.要求 弹出位置 在在鼠标事件位置,也就是说可以控制位置,
2.要求传递参数到 div里面去,因为要动态显示div的数据
3.最好可以移动,移开等事件,有整理好的 给我来一份 ,分不多 20分。

解决方案 »

  1.   

    省时间, jq$(document).click(doMouseClick);//initfunction doMouseClick(e){
        var left = e.pageX; 
        var top = e.pageY; //you can set its position here
        createDiv(...);//param here
    }function createDiv(param1, param2, ...){
        //DRAG, you may use jq.drag.js or write it yourself
        //simple example
        var div = $("<div></div>");    $(div).mousedown(...); //bind a func here, follow the cursor
        $(div).mouseup(...); // unbind the func above
    }
      

  2.   

    <!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>
      <title>新建文本文档</title>
      <meta http-equiv="content-type" content="text/html; charset=gb2312"/>
     </head> <body>
     <div class="dragAble" style="width:200px;height:200px;background:green;"></div>
      <div class="dragAble" style="width:400px;height:400px;background:red;"></div>
      <script type="text/javascript">
      <!--
    document.write("<style type='text/css'>.dragAble{position:relative;cursor:move;}</style>");
    var dragAble_ie = document.all;
    var dragAble_nn6 = document.getElementById && !document.all;
    var dragAble_isdrag = false;
    var dragAble_y, dragAble_x;
    var dragAble_oDragObj;
    function dragAble_moveMouse(e) {
    if (dragAble_isdrag) {
    dragAble_oDragObj.style.top = (dragAble_nn6 ? nTY + e.clientY - dragAble_y : nTY + event.clientY - dragAble_y) + "px";
    dragAble_oDragObj.style.left = (dragAble_nn6 ? nTX + e.clientX - dragAble_x : nTX + event.clientX - dragAble_x) + "px";
    return false;
    }
    }
    var dragAble_img_id;
    function dragAble_initDrag(e) {
    var oDragHandle = dragAble_nn6 ? e.target : event.srcElement;
    var topElement = "HTML";
    while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
    oDragHandle = dragAble_nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
    }
    if (oDragHandle.className == "dragAble") {
    dragAble_isdrag = true;
    dragAble_oDragObj = oDragHandle;
    dragAble_img_id = dragAble_oDragObj.id;
    nTY = parseInt(dragAble_oDragObj.style.top + 0);
    dragAble_y = dragAble_nn6 ? e.clientY : event.clientY;
    nTX = parseInt(dragAble_oDragObj.style.left + 0);
    dragAble_x = dragAble_nn6 ? e.clientX : event.clientX;
    document.onmousemove = dragAble_moveMouse;
    return false;
    }
    }
    document.onmousedown = dragAble_initDrag;
    document.onmouseup = dragAble_dragimg;
    function dragAble_dragimg(e) {
    dragAble_isdrag = false;
    }
      //-->
      </script>
     </body>
    </html>加一个div,然后class="dragAble"就搞可以。
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var flag = false;
    var x,y;
    function startDrag(obj){
    flag = true;
    x = event.x;
    y = event.y;
    }
    function showDivXy(divobj){
    //window.status = 'x:' + event.x + " y:" + event.y;
    //var divall = document.getElementsByTagName("div");
    //var divobj = divall[0];
    if(flag){
    var left = divobj.style.left.replace("px","");
    var top = divobj.style.top.replace("px","");
    divobj.style.left = left-'0' + event.x - x;
    divobj.style.top = top-'0' + event.y - y;
    x = event.x;
    y = event.y;
    }
    } function stopDrag(obj){
    flag = false;
    }

    function showDiv(){
    var divall = document.getElementsByTagName("div");
    var divobj = divall[0]; divobj.style.display="block"
    return false;
    }
    //-->
    </SCRIPT>
    </HEAD><BODY oncontextmenu="return showDiv()">
    <div onmousemove="showDivXy(this)" onmousedown="startDrag(this)" onmouseup="stopDrag(this)" style="background-color:#cfdfef;width:200px;height:100px;position:absolute;display:none;left:100px;top:100px;">大家好,我是层</div>
    </BODY>
    </HTML>
    看看这个,应该是你想要的吧。按右键
      

  4.   

    <SCRIPT LANGUAGE="JavaScript">
    //oDragObj需要拖动的整个对象
    function initDragable(oDragObj){ 
    if (!oDragObj) return;
    var bDraged = false;
    oDragObj.onmousedown = function(){
         event.srcElement.style.cursor = "move";
    oDragObj.lastX = event.clientX ;//- ofs.l;
    oDragObj.lastY = event.clientY ;//- ofs.t;
    bDraged = true;
    };
    oDragObj.onmousemove = function(){
    if (!bDraged) return;
         oDragObj.setCapture();
         if(oDragObj.offsetTop+(event.clientY - oDragObj.lastY) > 0){
    oDragObj.style.top = oDragObj.offsetTop+(event.clientY - oDragObj.lastY);
    }
    else
    oDragObj.style.top = 0;
    if(oDragObj.offsetLeft+(event.clientX - oDragObj.lastX) > 0)
    oDragObj.style.left = oDragObj.offsetLeft+(event.clientX - oDragObj.lastX);
    else
    oDragObj.style.left = 0;
    oDragObj.lastX = event.clientX ;//- ofs.l;
    oDragObj.lastY = event.clientY ;//- ofs.t;
    };
    oDragObj.onmouseup = function(){
    bDraged = false;
    oDragObj.releaseCapture();
    event.srcElement.style.cursor = "default";
    };
    }
    function show(str){
    var oDiv = document.all("myDiv");
    if(oDiv == null){
    oDiv = document.createElement("<div>");
    oDiv.id = "myDiv";
    oDiv.style.border="1 solid black";
    oDiv.style.height="100px";
    oDiv.style.width="200px";
    oDiv.style.backgroundColor="#fff000";
    document.body.appendChild(oDiv);
    initDragable(oDiv);
    }
    oDiv.style.position = "absolute";
    oDiv.style.left = event.clientX;
    oDiv.style.top = event.clientY;
    oDiv.style.textAlign="center";
    oDiv.innerText = str;
    return false;
    }
    //-->
    </SCRIPT>
    <BODY oncontextmenu="return show('please drag me')">
    </BODY>
      

  5.   

    9楼的朋友你好!你的js特效最接近我的需求,但是有一个问题 你的js 火狐下不兼容,麻烦帮我解决下,我现在要做 到ajax 查询数据 来填充你那个弹出的 div,但是火狐下 你那个根本就没数据,而且你那个在火狐下不显示。帮我调试下咯