【问题标题】:jQuery resize event handler not working on DIVjQuery调整大小事件处理程序不适用于DIV
【发布时间】:2013-03-25 01:47:27
【问题描述】:

当另一个分隔器由于内容加载到其中而调整大小时,我正在尝试让一个分隔器调整大小。当我将调整大小事件处理程序绑定到加载内容的分隔器上时,当它被加载并且分隔器拉伸以适应它时,永远不会调用该事件。这是因为没有通过 CSS 在分隔线上设置明确的“高度”属性吗?

这里有一个 JSFiddle 来演示:http://jsfiddle.net/q2pJ9/1/

HTML:

<div class="container">
    <button>Click me</button>
    <div class="content"></div>
</div>
<div class="other_container">
    <p>Will appear when "container" extends.</p>
</div>

CSS:

.content{
    display:none;
    height: 200px;
    background: grey;
}
.other_container{
    display: none;
}

Javascript:

$("button").click(function(){
    $(".content").slideToggle();
});
$(".container").resize(function(){
    $(".other_container").fadeIn();
});

感谢您的帮助。

【问题讨论】:

  • 我会试着做一个 jsfiddle 给你看,我的代码很长。
  • 据我所知,&lt;div&gt;s 上没有调用 resize 事件。仅在 window 元素上。
  • 是的,resize 仅支持 window
  • 是否有您知道的解决方法/插件可以实现这一点?谢谢

标签: jquery html css resize height


【解决方案1】:

我不确定我是否真的明白,但你会这样吗?

$("button").click(function(){
   $(".content").slideToggle(1500 , function(){
      $(".other_container").fadeIn();
   });
});

链接到示例http://jsfiddle.net/q2pJ9/6/

【讨论】:

  • 唯一的一点是容器分隔符可以从多个按钮展开。因此,与其添加重复的代码,我认为一个监听器会更合适。我已经设法使用这个插件来让它工作:benalman.com/projects/jquery-resize-plugin
猜你喜欢
  • 1970-01-01
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多