javascript - jQuery 函数在调整窗口大小之前不会触发

标签 javascript jquery ember.js zurb-foundation

我有一个 Foundation Orbit 图像 slider ,在您调整浏览器窗口大小之前它不会显示。该空间是空的,直到您仅将窗口大小更改一个像素。 Foundation 正在动态计算 slider 的高度,但是当页面首次加载时,容器上没有设置高度。

我还有一个导航栏,在调整窗口大小之前,它不会自行修正为计算出的宽度。

这是导航条码:

Ew.ApplicationView = Ember.View.extend({
  didInsertElement: function() {
    $(".nav").width($(window).width() - 406);
    $(".subnav").width($(window).width() - 396);
    return $(window).resize(function() {
      $(".nav").width($(window).width() - 406);
      return $(".subnav").width($(window).width() - 396);
    });
  }
});

以及 slider 初始化代码:

Ew.OrbitSliderComponent = Ember.Component.extend({
  initOrbit: function() {
    $(document).foundation('orbit', {
      stack_on_small: true;
      navigation_arrows: false;
      variable_height: true;
    });
  }.on('didInsertElement')
});

什么原因导致 jQuery 函数在窗口调整大小之前不会触发?

最佳答案

一个简单的技巧是将 .resize() 函数链接两次:

return $(window).resize(function() {
    $(".nav").width($(window).width() - 406);
    return $(".subnav").width($(window).width() - 396);
}).resize();    // Resize() onload

您可以看到不使用链接 ( http://jsfiddle.net/teddyrised/2x42Q/2/ ) 和使用链接 ( http://jsfiddle.net/teddyrised/2x42Q/1 ) 之间的区别

关于javascript - jQuery 函数在调整窗口大小之前不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19060390/

相关文章:

javascript - Angular,禁用按钮,然后使用 JavaScript 中的 setTimeout 激活它?

javascript - Nodejs 为什么用原型(prototype)静态初始化数组?

Javascript 数组和对象键

javascript - 滚动时固定边栏的计算

javascript - 带有拖动放大镜的 HTML5 页面,但在移动设备上不起作用

binding - Ember : re-bind a function to a view property (checkbox observing text area)

javascript alt/花式文本生成器

jquery - 购物背景图片

ember.js - Ember 1.5 如何组合两个记录数组?

javascript - Ember.js:这个方法去哪里了?