我有这个问题,只要我点击一个类ShowLB
我希望它出现一个LightBox,我在其中创建一个新元素#Content
我加载帖子....一旦我想要它关闭灯箱我点击课程HideLB
来完成它,而它确实如此。
JQUERY 初次调用函数“在Lightbox上显示结果”
$('.ShowLB').on('click', function() {
var id_post = $(this).data('id_post');
//show lightbox, create container
$(".LightBoxPosts").show();
$(".Title").after('<ul id=Container></ul>');
$(document).ShowPosts(id_post);
});
//hide lighbox, remove container
$('.HideLB').on('click', function() {
$("#Container").remove();
$(".LightBoxPosts").hide();
});
HTML
<div class="ShowLB" data-id_post="5">[SHOW LIGHTBOX]</div>
<div id="LightBoxPosts">
<div class="HideLB">[X]</div>
<div class="Title">[ALL POSTS]</div>
<div class="ShowMore">[SHOW MORE]</div>
</div>
功能灯箱出现后,帖子会成功加载到#Container
$(".ShowMore").hide();
jQuery.fn.ShowPosts = function(id_post) {
var loading = false;
var track_load = 0;
var total_groups = 5;
$(".ShowMore").show();
$(".ShowMore").on('click', function() {
if (track_load <= (total_groups - 1) && loading == false) {
alert(track_load);
$.post("posts.php", {
'group_no': track_load
},
function(data) {
loading = true;
$(".Container").append(data);
track_load++;
loading = false;
});
}
});
}
问题
一开始,当第一次点击.ShowMore
按钮时,它会正常检索帖子。
当我点击HideLB
关闭灯箱时出现问题。容器会被删除,只要我再次点击ShowLB
然后.ShowMore
,ShowPosts()
函数就会加载之前调用的内容。这意味着点击track_load
按钮后警报.ShowMore
出现两次...然后从我第一次打开灯箱时加载两次新内容和内容。是否有意义?我不能继续解决这个问题。