1

我正在为我的 CSS 使用 .less。我遇到的问题是因为 Jquery 在 .less 完成解析 .less 文件之前运行,高度和宽度不是正确的。

现在我将 500 milisenconds 的 setTimeout 设置为“等待”,.less 上是否有任何回调函数来启动 jquery 的东西?

谢谢

jQuery(function($){
   var m = $('.my-class').height();
   var wh = $(window).height();

   if(wh > m){
      $('.my-class').addClass('.new-class').height(wh - 300);
   }
});

我必须这样做,才能让它工作:

jQuery(function($){
   var m = $('.my-class').height();
   var wh = $(window).height();

   setTimeout(function(){
      if(wh > m){
         $('.my-class').addClass('.new-class').height(wh - 300);
      }
   }, 500);
});
4

1 回答 1

2

您可以在最有可能执行的任何 .less 上使用 jQuery .ready() 事件。因此,如果您有一个 .less 是样式的段落,您可以执行类似 .less 的操作$("p").ready(function() { //do something });。如果这不起作用,您也可以随时尝试 .resize() 事件,因为当 less 完成样式设置时应该调整元素的大小。例如,您可以执行类似的操作$("p").resize(function() { //do something now that the size has changed });

文档:

于 2013-01-11T20:02:42.740 回答