Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript更新浮动菜单的(style.top)位置_Javascript - Fatal编程技术网

使用Javascript更新浮动菜单的(style.top)位置

使用Javascript更新浮动菜单的(style.top)位置,javascript,Javascript,我正在用JavaScript做一个浮动菜单,无论用户是否向下滚动或调整窗口大小,都应该保持在相同的位置 到目前为止,它的工作与X位置刚刚好。但是,我找不到一种方法使它固定在相对于窗口可见顶部的位置。问题是当我向下滚动菜单时,它消失了,因为它保持了与窗口大小相关的距离 我的代码是: menuPosition : function (){ var windowHeight = document.body.clientHeight; var windowWidt

我正在用JavaScript做一个浮动菜单,无论用户是否向下滚动或调整窗口大小,都应该保持在相同的位置

到目前为止,它的工作与X位置刚刚好。但是,我找不到一种方法使它固定在相对于窗口可见顶部的位置。问题是当我向下滚动菜单时,它消失了,因为它保持了与窗口大小相关的距离

我的代码是:

    menuPosition : function (){
        var windowHeight = document.body.clientHeight;
        var windowWidth = document.body.clientWidth;
        var xPosFloatingMenu = (windowWidth) - (fMenuWidthGlobal + fMenuXPosGlobal);
        var yPosFloatingMenu = (windowHeight) - (windowHeight - fMenuYPosGlobal);
        document.getElementById("floating_menu").style.left = (xPosFloatingMenu) + "px";
        document.getElementById("floating_menu").style.top = (yPosFloatingMenu) + "px";


    },

    updateMenuPosition : function () {
        var menuPositionInterval = setInterval(gala.create.menuPosition,1);
    } 

是否有方法保持菜单位置相对于窗口顶部可见的更新?

您必须在窗口滚动事件中更新浮动菜单元素的样式属性


是的,但它会干扰其他固定元素,而且这是我正在做的一个小库的一部分。因此,您必须在window scroll事件中更新浮动菜单元素的样式属性。是的,成功了!抱歉,这里太晚了,我必须:fMenu.style.position=(“已修复”);在创建菜单元素的函数上。谢谢