function Floatadiv(divName,xPos,yPos,step,delay){
    //确定层移动的方向
    var xmoveDirect = true, ymoveDirect = true  //判断层的X坐标和Y坐标是否在在控制范围之内，xin为真是层向右移动，否则向左；yin为真是层向下移动，否则向上 
    var moveStep = step;    //层移动的步长，值越大移动速度越快  
    var moveDelay = delay;  //层移动的时间间隔,单位为毫秒，值越小移动速度越快

    var divObj=document.getElementById( divName ); 
    //浮动层的初始位置，分别对应层的初始X坐标和Y坐标 
    divObj.style.left = xPos;
    divObj.style.top = yPos;

    //移动div
    floatDiv=function () {
        var L=T=0;  //层移动范围的左边界(L)和上边界(T)坐标 
        var R= document.body.clientWidth-divObj.offsetWidth; 
        var B = document.body.clientHeight-divObj.offsetHeight;
        //更新层的X坐标，实现X轴方向上的运动；以保证在滚动条右拉时层仍在可见范围内
        divObj.style.left = xPos + document.body.scrollLeft;   //document.body.scrollLeft为文档区域的滚动条向右拉的距离，
        //更新层的Y坐标，实现Y轴方向上的运动；以保证在滚动条下拉时层仍在可见范围内
        divObj.style.top = yPos + document.body.scrollTop; //document.body.scrollTop为文档区域的滚动条向下拉的距离，
        xPos = xPos + moveStep*(xmoveDirect?1:-1);    //通过判断层的范围决定层在X轴上的运动方向
        if (xPos < L) { xmoveDirect = true; xPos = L; } 
        if (xPos > R){ xmoveDirect = false; xPos = R; } 
        yPos = yPos + moveStep*(ymoveDirect?1:-1);    //通过判断层的范围决定层在Y轴上的运动方向
        if (yPos < T) { ymoveDirect = true; yPos = T; } 
        if (yPos > B) { ymoveDirect = false; yPos = B; } 
    } 
    var itl= setInterval("floatDiv()", moveDelay);   //每delay秒执行一次floatDiv函数
    divObj.onmouseover=function(){ clearInterval(itl); }  //层在鼠标移上时清除上面的间隔事件，实现层在的鼠标移上时停止运动的效果 
    divObj.onmouseout=function(){ itl=setInterval("floatDiv()", moveDelay); }  //层在鼠标移开时开始间隔事件，实现层在的鼠标移开时继续运动的效果 
}