0

我有一个 wordpress 网站宽度的侧边栏,客户想要一遍又一遍地重复一组广告以填充空白。

所以我有第一组广告硬编码,然后有一个函数来获取#content DIV 的高度并循环遍历广告数组并根据需要将它们附加到侧边栏。

它在网站的大多数页面上都可以正常工作,例如此处(链接)

但是由于某种原因,基于一个模板的页面没有报告正确的高度(我在页面上放了一个跟踪语句,它报告了 ~2500 而不是 ~6000)。你可以在这样的页面上看到(链接)

为了使它更难调试,它会间歇性地在这些页面上工作。但通常重新加载然后它再次失败。循环工作,只是没有足够的时间,因为高度被错误地报告给脚本。我不明白。

脚本在这里:

<script type="text/javascript">
$(function() {
    var contentHeight = $('#content').height();
    var adList = [
        '<a href="http://www.toveromarks.com"><img class="ad" src="http://happeninginthehills.com/wp-content/uploads/ads/ToveroHappeningHills.jpg" /></a>',
        '<img class="ad" src="http://happeninginthehills.com/wp-content/uploads/2012/12/vi-owens-ad.png" />', 
        '<a href="http://www.hadunne.com"><img class="ad" src="http://happeninginthehills.com/wp-content/uploads/2012/12/susie-ad1.png" /></a>', 
        '<a href="http://www.deborahchabrian.com"><img class="ad" src="http://happeninginthehills.com/wp-content/uploads/ads/chabrian-ad.jpg" /></a>',
        '<a href="http://www.tclaw.biz"><img class="ad" src="http://happeninginthehills.com/wp-content/uploads/2012/12/jeffs-ad.png" /></a>',
        '<a href="http://www.edmartinezart.com"><img class="ad" src="http://happeninginthehills.com/wp-content/uploads/ads/martinez-ad.jpg" /></a>',
        '<img class="ad" src="http://happeninginthehills.com/wp-content/uploads/2012/12/scott-phillips-ad.jpg" />'
        ];
    var adHeight = 285;
    var numRequiredAds = adList.length;
    var heightDiff = contentHeight - (numRequiredAds * adHeight);
    var numAds = Math.floor(heightDiff/adHeight);
    if (heightDiff > adHeight){
        for (var i = 0; i < numAds ; i++) {
            $('#primary').append(adList[i % adList.length]);
            //$('#primary').append('<p>ad num '+i+'</p>');
        };
            //$('#primary').append('<p>height is'+contentHeight+'</p>');
        }
   });
  </script> 
4

1 回答 1

0
window.onload = function() {
   // your code
}
于 2013-03-02T19:25:53.833 回答