Нажатие кнопки «Загрузить больше» увеличит число, а затем передаст значение в «start-index» json url. Затем он добавит новые элементы под текущими.
При навигации / щелчке по домашней странице и ярлыкам, он должен очистить текущие элементы перед загрузкой новых элементов.
Мое решение - добавить еще один щелчок для сброса приращения числа и удаления текущих элементов.
$("#label-list a").on("click", function() {
$("#count").val("1");
$('.items').remove();
});
Кажется, работает, но я обнаружил одну проблему.
, например, вы находитесь в label2, повторное нажатие на label2 приведет к заставить все элементы исчезнуть и сбросить значение начального индекса.
На самом деле это не проблема с функцией щелчка, это то, как она должна себя вести, мне просто нужно другое решение ... Любая помощь будет принята с благодарностью. спасибо!
var max = 4;
var winloc = window.location;
baseUrl = 'https://mailliw88.blogspot.com/feeds/posts/';
$("#add").on("click", function() {
start = (parseInt($('#count').val()) + max);
$("#count").val(start);
loadmore(start);
})
$("#label-list a").on("click", function() {
$("#count").val("1");
$('.items').remove();
});
$(window).on('hashchange', loadmore = function(more) {
if (winloc.hash === "#home") {
url = `${baseUrl}default?start-index=${more}&max-results=${max}&alt=json-in-script`;
} else if (winloc.hash.indexOf("#label") > -1) {
label = winloc.hash.split("/")[1];
url = `${baseUrl}default/-/${label}?start-index=${more}&max-results=${max}&alt=json-in-script`;
} else {
url = `${baseUrl}default?start-index=${more}&max-results=${max}&alt=json-in-script`;
}
$.ajax({
url: url,
type: 'get',
dataType: "jsonp",
success: function(data) {
if (data.feed.entry) {
datas = data.feed.entry;
var entry = data.feed.entry;
for (var i = 0; i < entry.length; i++) {
postTitle = entry[i].title.$t;
items = '<div class="items"><h2>' + postTitle + '</h2></div>';
$("#showlists").append(items)
}
}
if (data.feed.entry.length !== max){
$("#add").hide();
} else if (window.location.href) {
$("#add").show();
}
}
});
}).trigger('hashchange')
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<ul id='label-list'>
<li><a href="#home">Home</a></li>
<li><a href="#label/label2">label2</a></li>
<li><a href="#label/label3">label3</a></li>
</ul>
<div id='showlists'>
</div>
<input type="button" id="add" value="load more..." style="width:200px">
<input type="text" id="count" value="1" style="width:30px">