Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery和disqs评论系统为div布局设置等高_Javascript_Jquery_Height_Html_Disqus - Fatal编程技术网

Javascript 如何使用jQuery和disqs评论系统为div布局设置等高

Javascript 如何使用jQuery和disqs评论系统为div布局设置等高,javascript,jquery,height,html,disqus,Javascript,Jquery,Height,Html,Disqus,我有一个基于div的布局,使用jQuery和“setEqualHeights”函数(如下)使布局中的所有列相等 等高jQuery: function setEqualHeight(columns) { var tallestcolumn = 0; columns.each( function() { currentHeight = $(this).height(); if(currentHeight > tall

我有一个基于div的布局,使用jQuery和“setEqualHeights”函数(如下)使布局中的所有列相等

等高jQuery:

function setEqualHeight(columns) 
{
    var tallestcolumn = 0;
    columns.each(
    function() 
     {
          currentHeight = $(this).height();
          if(currentHeight > tallestcolumn) 
          {
                tallestcolumn = currentHeight;
          }
    }
    );
    columns.height(tallestcolumn);
}

$(window).load(function() {
    setEqualHeight($(".coln_equalize"));
});
<div id="wrap">

  <div id="nav-coln" class="coln_equalize">
  ... navigation ...
  </div>

  <div id="content" class="coln_equalize">
  ... content ...
  </div>

</div>
<div id="wrap">

  <div id="nav-coln" class="coln_equalize">
  ... navigation ...
  </div>

  <div id="content" class="coln_equalize">

      ... content ...

      <div id="disqus_thread">
        ... disqus stuff ...
      </div>

  </div>

</div>
HTML应该是这样的:

function setEqualHeight(columns) 
{
    var tallestcolumn = 0;
    columns.each(
    function() 
     {
          currentHeight = $(this).height();
          if(currentHeight > tallestcolumn) 
          {
                tallestcolumn = currentHeight;
          }
    }
    );
    columns.height(tallestcolumn);
}

$(window).load(function() {
    setEqualHeight($(".coln_equalize"));
});
<div id="wrap">

  <div id="nav-coln" class="coln_equalize">
  ... navigation ...
  </div>

  <div id="content" class="coln_equalize">
  ... content ...
  </div>

</div>
<div id="wrap">

  <div id="nav-coln" class="coln_equalize">
  ... navigation ...
  </div>

  <div id="content" class="coln_equalize">

      ... content ...

      <div id="disqus_thread">
        ... disqus stuff ...
      </div>

  </div>

</div>
尝试的解决方案#2(也失败):使用jQuery获取discus块的高度,然后使用jQuery将其添加为CSS高度参数

然后我想我可以使用一个更简单的脚本来获得disqs的高度,并使用jQuery将其作为CSS应用。 为此,我插入了以下代码来代替“//CALL YOUR EQUAL HEIGHTS JQUERY code HERE”块:

但是,同样,我认为这一尝试失败了,因为它也是在Disqus完全完成加载之前应用的,而且它也失败了,因为它没有捕获新的 正在添加新注释


任何帮助都将不胜感激

此外,这可能与在jQuery中使用高度相等的“延迟加载”的想法有关。快速而肮脏的解决方案是在一个间隔上运行列高度均衡器。这不太好看,但会有用的。@DanielMendel你说的“间歇”是什么意思?循环中…?是的,循环中。它的工作原理如下:
setInterval(function(){//do stuff},500)。这将每500毫秒触发一次函数。它的工作原理与
setTimeout
完全相同,因此您可以转到
var looping=setInterval(someFunction,500)
,然后停止循环
clearInterval(循环)此外,这可能与在jQuery中使用高度相等的“延迟加载”的想法有关。快速而肮脏的解决方案是在一个间隔上运行列高度均衡器。这不太好看,但会有用的。@DanielMendel你说的“间歇”是什么意思?循环中…?是的,循环中。它的工作原理如下:
setInterval(function(){//do stuff},500)。这将每500毫秒触发一次函数。它的工作原理与
setTimeout
完全相同,因此您可以转到
var looping=setInterval(someFunction,500)
,然后停止循环
clearInterval(循环)