Menu at mouse cursor

Posted: April 16th, 2008 | Author: admin | Filed under: Developers, Javascript |

<STYLE TYPE="text/css">
<!–
#dek {POSITION:absolute;VISIBILITY:hidden;Z-INDEX:200;}
//–>
</STYLE>
<DIV ID="dek"></DIV>
<SCRIPT TYPE="text/javascript">
<!–
function popUp(theURL, myWidth, myHeight) {
    var winName = 'feedback';
    var features='toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1';
    //var myWidth = 290;
    //var myHeight = 360;
    var isCenter = 'true';
    if(window.screen)if(isCenter)if(isCenter=="true"){
        var myLeft = (screen.width-myWidth)/2;
        var myTop = (screen.height-myHeight)/2;
        features+=(features!=")?',':";
        features+=',left='+myLeft+',top='+myTop;
    }
    var handle = window.open(theURL,winName,features+((features!=")?',':")+'width='+myWidth+',height='+myHeight);
    handle.opener = window;
    handle.focus();
    return handle;
}

Xoffset=0; // modify these values to …
Yoffset= 0; // change the popup position.
var old,skn,iex=(document.all),yyy=Yoffset;//-1000;
var ns4=document.layers
var ns6=document.getElementById&&!document.all
var ie4=document.all
var must_close = false;
var mouse_x = 0;
var mouse_y = 0;
var timeoutId = false;
function initdek(){
    if (ns4) skn=document.dek;
    else if (ns6) skn=document.getElementById("dek").style;
    else if (ie4) skn=document.all.dek.style;
   
    if(ns4)document.captureEvents(Event.MOUSEMOVE);
    else{
        skn.visibility="visible"
        skn.display="none"
    }
    document.onmousemove=get_mouse;
}
//ONMOUSEOVER="keep_it_open()" ONMOUSEOUT="about_to_close()"
function popupdek(msg){
    keep_it_open();
    var content='<div style="border:1px solid #999; padding:10px;background-color:#f87" ONMOUSEOVER="keep_it_open()" ONMOUSEOUT="about_to_close()">' + msg + '</div>';
   
    yyy=Yoffset;
    skn.left = mouse_x;
    skn.top = mouse_y;
    if(ns4){skn.document.write(content);skn.document.close();skn.visibility="visible"}
    if(ns6){document.getElementById("dek").innerHTML=content;skn.display="}
    if(ie4){document.all("dek").innerHTML=content;skn.display="}
}

function get_mouse(e){
    if(ns4||ns6){
        mouse_x=e.pageX+Xoffset+'px';
        mouse_y=e.pageY+yyy + 'px';
    }else{
        if (document.documentElement){
            // IE6 +4.01
            mouse_x=event.x+document.documentElement.scrollLeft+Xoffset+'px';
            mouse_y=event.y+document.documentElement.scrollTop+yyy + 'px';
        }else if (document.body){
            // IE5 or DTD 3.2
            mouse_x=event.x+document.body.scrollLeft+Xoffset+'px';
            mouse_y=event.y+document.body.scrollTop+yyy + 'px';
        }
    }
}

function kill(){
//yyy=-1000;
if(ns4){skn.visibility="hidden";}
else if (ns6||ie4)
    skn.display="none"
    is_visible=0;
}

function keep_it_open(){
    if(timeoutId) clearTimeout(timeoutId);
    timeoutId = false;
}

function about_to_close(){
    timeoutId = setTimeout('kill()',1000);
}

function set_must_close(){
    must_close=true;
    kill();
}

initdek();

function showTags(str){
    var msg = "<strong>Tags:</strong><br/>" + str.replace(/\,/,'<br/>');
    msg += '<br/><form action=""><input type="text" size="10" value="enter tag.." name="tag"/><input type="submit" value="Add"></form>';
    popupdek(msg);
}
function showManage(pid){
    var msg = "<strong>Management:</strong><br/>" ;
    msg += '<a href="#" onclick="popUp(\'imageop/add_image~' + pid + '.html\',400,300)" >Add image</a><br/>';
    msg += '<a href="#" onclick="popUp(\'imageop/delete_image~' + pid + '.html\',400,300)" >Delete image</a><br/>';
    msg += '<br/><form action=""><input type="file" size="10" value="" name="uploadfile"/><br/><input type="submit" value="Upload"></form>';
    popupdek(msg);
}

function showLinks(pid, iurl){
    var msg = "<strong>Links:</strong><br/>" ;
    msg += '<a href="<?=$PROFILEORIGIN?>/list_profile~' + pid + '.html" target="_blank">Profile home</a><br/>';
    msg += '<a href="' + iurl + '" target="_blank" >Source URL</a><br/>';
    popupdek(msg);
}
//–>
</SCRIPT>
 

Used as:
<a href="http://www.blogger.com/post-edit.do#" onmouseover="showTags('taglist,comma separated)');keep_it_open()" onmouseout="about_to_close()" onclick="return false">Tags</a>



Leave a Reply