我的问题:我使用 Bootstrap 和 DHTMLX 构建一个 Web 应用程序,该应用程序有一个主页、侧边栏和不同的其他页面,我在其中使用 DHTMLX 构建布局、网格,我使用其他DHTMLX 组件。我设法让我的主页响应,其他 HTML 组件也可以在不同的设备上完美显示,但我的问题是 DHTMLX 布局和网格永远不会响应!我一直在寻找并试图找到一种使其响应的方法,因为我有很多页面,但每个页面都可以有 DHTMLX 的布局模式(主要使用 1C、2U、3L、3T、3U 多级布局)也是)
我想做什么:好吧,我注意到了一些事情,如果我设法根据使用的不同媒体动态更改 DHTMLX 布局,这可能是一个解决方案,例如:在其中一个页面上我有一个2U 布局在桌面屏幕上显示得很好,但在智能手机设备上显示得非常糟糕 - 较窄的媒体 - 因此 2U 必须转换为 2E,这样至少更易于查看和使用
我的问题 - 或问题 -:我是否正在考虑使我的 Web 应用程序具有响应性的最愚蠢的方法,或者我正在尝试做的事情是否与响应性概念有关?
这不是讨论 - 我不希望我的问题被关闭 - 我只需要一个答案来指导我以正确的方式,但是我非常感谢在正确的地方进行答案讨论。
最佳答案
您应该能够将 onresize 处理程序与 onload 处理程序一起使用。每次调整窗口大小时,您只需卸载布局并重新创建它:
<script>
var layout
var currentPattern
function setLayout() {
var width = window.innerWidth
if (width < 600) {
var pattern = "2E"
} else {
var pattern = "2U"
}
if (pattern == currentPattern) {
return
} else {
currentPattern = pattern
}
if (layout) {
layout.unload()
}
layout = new dhtmlXLayoutObject({
parent: "your-layout-id",
pattern: pattern
})
}
window.onresize = setLayout
</script>
<body onload="setLayout()">
<div id="your-layout-id">...</div>
</body>
关于javascript - 如何使 dhtmlx 布局响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716603/