粘性侧边栏不适用于短篇文章

时间:2016-06-24 21:32:09

标签: javascript jquery html css

问题是,粘贴小部件适用于较长的文章,但不适用于我网站上的短文章。 这是一篇很长的文章: http://www.hddmag.com/2015/06/best-hard-drive.html并且粘性工作正常,没有滞后。

现在篇幅较短。在较短的文章中,我无法滚动到底部,粘性是滞后的,不允许这样做。 http://www.hddmag.com/2016/06/western-digital-introduced-new-external.html

下面是粘贴的代码:

$(function(){ // document ready
   if ($('#HTML4').length) { // make sure "#sticky" element exists
      var el = $('#HTML4');
      var stickyTop = $('#HTML4').offset().top; // returns number
      var stickyHeight = $('#HTML4').height();

      $(window).scroll(function(){ // scroll event
          var limit = $('#copyrights').offset().top - stickyHeight - 600;

          var windowTop = $(window).scrollTop(); // returns number

          if (windowTop > stickyTop) {
             el.css({ position: 'fixed', top: 25 });
          }
          else {
             el.css('position','static');
          }

          if (windowTop > limit) {
          var diff = limit - windowTop;
          el.css({top: diff});
          }
        });
   }
});

我不是专业程序员;也许解决方案很简单。

1 个答案:

答案 0 :(得分:0)

答案:

我假设你在谈论亚马逊粘性横幅。在第一个URL上,我可以看到横幅清除cookie,使用美国IP地址等。不在第二篇文章中。检查并比较两个站点中已下载的JS我注意到您没有在第二篇文章中插入以下脚本:

<script type="text/javascript">
amzn_assoc_placement = "adunit0";
amzn_assoc_tracking_id = "hd02d5-20";
amzn_assoc_ad_mode = "manual";
amzn_assoc_ad_type = "smart";
amzn_assoc_marketplace = "amazon";
amzn_assoc_region = "US";
amzn_assoc_linkid = "c7d729574dff35b824e7c6ea36cc5357";
amzn_assoc_asins =     "B00P0NV43E,B0143BOR5A,B00LO3KR96,B00XS423SC,B013HNYVCE,B00FJRS5BA,B00LO3KMK0,B00GSJ9X4Q,B00FQH7MQ2";
amzn_assoc_title = "Today`s Best Deals";
</script>
<script src="//z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US"></script>

使用该脚本加载横幅(现在您应该检查第一个脚本的值是否正确,因为它是第一篇文章中的复制粘贴)。

结果如下:http://imgur.com/S3IvSPD

错误的答案

代码在帖子中被错误地复制粘贴,但检查两个页面的源代码完全相同,这不是问题。

比较这两篇文章我可以看到缺少SCRIPT,它负责在侧边栏上加载所有小部件。如果您在文章中导入以下脚本,则可以:

<script type="text/javascript" src="http://widgets.getsitecontrol.com/46244/script.js"></script>