【问题标题】:How to handle resize event with a resize bar?如何使用调整大小栏处理调整大小事件?
【发布时间】:2012-07-09 08:32:00
【问题描述】:

我在jsFiddle 上为我的问题及其问题创建了一个简单的示例。 基本上我想要两件事:

  1. 在调整窗口大小时重新排列图表的大小以适合其容器;

  2. 当调整大小条移动时,重新排列图表的大小以适合其容器

注意:我正在使用jQuery UI layout plugin 进行布局管理,但我不知道如何使用移动的调整大小栏来处理调整大小事件。

我已经为此工作了很长时间,并且仍在寻找有关此问题的答案。感谢任何提供 cmets 或建议的人。

【问题讨论】:

  • 您拥有的 jsFiddle 示例是一个不会拖动的大小调整器。当我点击它时它只是调整大小。这是故意的吗?
  • 感谢您的 cmets,也许 jsFiddle 上的问题,它在我的项目上确实有效,但是当我尝试在 jsFiddle 上重新创建它时,它不适用于完全相同的参数设置。但是点击调整大小也解释了我的问题,如果它可以处理我点击调整大小的情况,那么它会解决我的问题。

标签: css jquery-ui jquery-plugins jquery


【解决方案1】:

OK 所以要在 JQuery UI Layout 中触发 resize 事件,您可以为整个布局触发一个事件,也可以为每个布局块触发一个事件。

使用您的 jsFiddle 示例...调整视图大小的西布局可以这样触发:

myLayout = $('body').layout({
// ...
west__onresize: function () {
    alert('only when west layout is redrawn') },

整个布局可以这样触发:

myLayout = $('body').layout({
// ...
onresize: function () {
    alert('whenever anything on layout is redrawn.') },

只要任何视图调整大小,这些都会被命中。这也包括窗口调整大小事件。

【讨论】:

  • 有趣的是,当我们调整南窗格的大小时,它会起作用..有什么方法可以处理打开和关闭西窗格的大小调整?
  • 只需添加onresize: function () {。这应该会在调整窗口大小和拖动栏时触发。
  • 非常感谢!这是一个很好的答案和解决方案。虽然我仍在寻找一种无需刷新即可调整图表大小的方法(只是想让它不每次都加载数据),但您的答案已经足够好,正是我正在寻找的这个问题。
  • 谢谢,我已经考虑过了,但是我需要为setSize() 方法做一些计算。你有什么想法我可以得到west__size 的价值吗?如果我只是将west__size 放在我的函数中,它将无法解决..感谢您的时间!
  • 这仅在调整浏览器窗口大小时有效。如果调整窗口内的分隔线大小,则不起作用。如何让它发挥作用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
  • 1970-01-01
  • 2020-02-09
  • 2013-12-13
  • 2011-01-13
  • 2019-02-01
  • 2022-10-01
相关资源
最近更新 更多