JavaScript调整大小并加载,根据窗口宽度移动元素

卡尔

如果窗口宽度小于768px,我正在尝试将元素移到画布菜单之外。

到目前为止,我有这个:

<script>
    window.onresize = move_sidebar(event);
    window.onload = move_sidebar(event);
    function move_sidebar(event) {
        if(window.outerWidth > 768) {
            return;
        } else {
            console.log('resized or loaded');
            document.getElementById('offcanvas-menu').appendChild(document.getElementById('sidebar-content'));
        }

    }
</script>

当窗口加载时,它工作正常,将显示控制台日志并移动元素,但是,当我调整窗口大小时,不会触发该事件。

除非我这样做:

window.onresize = function(event) { console.log('resizing'); };

每次调整窗口大小时,它都会记录下来,我无法弄清楚为什么两者之间会有区别。

如果宽度大于768px,我还需要将其移回其原始位置,只要它仅存在于offcanvas-menu元素中即可。

有任何想法吗?


编辑:

我最终使用以下代码修复了此问题:

<script>
    window.onresize = move_sidebar;
    window.onload = move_sidebar;
    function move_sidebar(event) {
        ele = document.getElementById('sidebar-content');
        if(window.outerWidth > 768) {
            if(ele.parentNode.id == 'offcanvas-menu') {
                document.getElementById('sidebar').appendChild(document.getElementById('sidebar-content'));
            }
            return;
        } else {
            document.getElementById('offcanvas-menu').appendChild(ele);
        }

    }
</script>
摩西

你逝去的处理程序中的事件的结果,你move_sidebar执行后发挥作用,而不是传递函数本身。

您的代码应为:

window.onresize = move_sidebar;
window.onload   = move_sidebar;

页面加载时为您工作的原因仅仅是因为您错误地手动执行了功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

调整窗口元素大小时移动

来自分类Dev

根据窗口宽度调整大小启用和禁用脚本

来自分类Dev

检查加载时的窗口大小以及根据条件调整大小

来自分类Dev

如何根据窗口大小调整元素大小

来自分类Dev

根据所选OPTION的宽度自动调整SELECT元素的大小

来自分类Dev

根据所选OPTION的宽度自动调整SELECT元素的大小

来自分类Dev

在 Bootstrap 中调整窗口大小时停止元素移动

来自分类Dev

根据宽度调整UIImage的大小

来自分类Dev

从移动设备中排除JavaScript窗口调整大小

来自分类Dev

根据父窗口小部件的宽度和高度放置自动调整大小的窗口小部件

来自分类Dev

在调整大小和加载时移动DOM元素。仅适用于调整大小

来自分类Dev

AngularJS根据父元素宽度调整宽度

来自分类Dev

移动CSS调整窗口,而不是超出宽度

来自分类Dev

窗口大小调整时的Vanilla Javascript操作元素

来自分类Dev

根据浏览器窗口的宽度和高度调整div样式的大小-jQuery

来自分类Dev

根据自定义元素的宽度/高度样式重新调整阴影DOM元素的大小

来自分类Dev

WPF窗口调整大小“吃”控件宽度

来自分类Dev

根据纯JavaScript的父div调整子视频元素的大小

来自分类Dev

窗口右侧的元素与窗口调整大小重叠

来自分类Dev

WPF ItemsControl元素-根据窗口大小调整内容大小(锚定)

来自分类Dev

JAVA Swing中如何让元素根据窗口大小自动调整大小?

来自分类Dev

调整窗口大小时,span元素未获得其宽度

来自分类Dev

调整窗口大小时如何使一行中的一个元素更改宽度

来自分类Dev

如何根据div宽度调整图像大小?

来自分类Dev

Delphi:在移动时调整Winapi窗口的大小

来自分类Dev

调整窗口大小时HTML表移动

来自分类Dev

调整窗口大小时,UI不移动

来自分类Dev

页眉在窗口调整大小时移动

来自分类Dev

调整javaScript中的窗口大小?

Related 相关文章

  1. 1

    调整窗口元素大小时移动

  2. 2

    根据窗口宽度调整大小启用和禁用脚本

  3. 3

    检查加载时的窗口大小以及根据条件调整大小

  4. 4

    如何根据窗口大小调整元素大小

  5. 5

    根据所选OPTION的宽度自动调整SELECT元素的大小

  6. 6

    根据所选OPTION的宽度自动调整SELECT元素的大小

  7. 7

    在 Bootstrap 中调整窗口大小时停止元素移动

  8. 8

    根据宽度调整UIImage的大小

  9. 9

    从移动设备中排除JavaScript窗口调整大小

  10. 10

    根据父窗口小部件的宽度和高度放置自动调整大小的窗口小部件

  11. 11

    在调整大小和加载时移动DOM元素。仅适用于调整大小

  12. 12

    AngularJS根据父元素宽度调整宽度

  13. 13

    移动CSS调整窗口,而不是超出宽度

  14. 14

    窗口大小调整时的Vanilla Javascript操作元素

  15. 15

    根据浏览器窗口的宽度和高度调整div样式的大小-jQuery

  16. 16

    根据自定义元素的宽度/高度样式重新调整阴影DOM元素的大小

  17. 17

    WPF窗口调整大小“吃”控件宽度

  18. 18

    根据纯JavaScript的父div调整子视频元素的大小

  19. 19

    窗口右侧的元素与窗口调整大小重叠

  20. 20

    WPF ItemsControl元素-根据窗口大小调整内容大小(锚定)

  21. 21

    JAVA Swing中如何让元素根据窗口大小自动调整大小?

  22. 22

    调整窗口大小时,span元素未获得其宽度

  23. 23

    调整窗口大小时如何使一行中的一个元素更改宽度

  24. 24

    如何根据div宽度调整图像大小?

  25. 25

    Delphi:在移动时调整Winapi窗口的大小

  26. 26

    调整窗口大小时HTML表移动

  27. 27

    调整窗口大小时,UI不移动

  28. 28

    页眉在窗口调整大小时移动

  29. 29

    调整javaScript中的窗口大小?

热门标签

归档