[英]Sticky sidebar not working on short articles
問題是,粘性小部件在較長的文章上效果很好,但在我的網站上的簡短文章上卻不起作用。 這是一篇很長的文章: 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});
}
});
}
});
我不是專業程序員; 也許解決方案很簡單。
回答:
我假設您是在談論亞馬遜粘性橫幅。 在第一個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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.