- 週間ランキング
$(function(){
// var user_id = $("#recommendfeed").data("user-id");
// var category = $("#recommendfeed").data("category");
// var item_id = $("#recommendfeed").data("item-id");
// var loading = $("#recommendfeed ul.loading");
var iframe_recommendfeeds = $("#iframe_recommendfeeds")[0];
var ajax_getting = false;
var canLoadMore = true;
$(window).scroll(function() {
var recommendfeedEl = $("#iframe_recommendfeeds_foot")[0];
var visible = isElementInViewport(recommendfeedEl);
if (visible && !ajax_getting && canLoadMore) {
let rfMsg = {msgType:'recommendActionMsg', action:'loadMore'};
iframe_recommendfeeds.contentWindow.postMessage(rfMsg, "https://home.kingsoft.jp");
}
});
function isElementInViewport(el) {
//获取元素是否在可视区域
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <=
(window.innerHeight || document.documentElement.clientHeight) &&
rect.right <=
(window.innerWidth || document.documentElement.clientWidth)
);
}
let msgSubcribe = function (event) {
// if(event.origin != "") return;
if (event.data.msgType === 'recommendActionMsg') {
if (event.data.action === 'starLoad') {
ajax_getting = true;
} else if (event.data.action === 'endLoad') {
ajax_getting = false;
canLoadMore = event.data.hasMore;
} else if (event.data.action === 'resizeContent') {
iframe_recommendfeeds.height = event.data.contentHeight;
}
}
};
window.addEventListener('message',msgSubcribe,false);
});