我有一个加载项目并使用 jquery 无限滚动插件在用户滚动时加载更多项目的站点。
当用户将鼠标悬停在某个项目上时,该项目上会显示更多的小 div。简单的。悬停时显示哪些 div 取决于用户在哪个页面上,因此它们取决于知道他们在哪个页面上。我使用一个简单的变量来解决这个问题。
我使用以下 js 来决定显示哪些 div。例如从主页
<script>
$(".list_item_image").mouseenter(function () {
$(this).children(".gl_view2").show();
$(this).children(".gl_relist").show();
});
$('.list_item_image').mouseleave(function() {
$(this).children(".gl_view2").hide();
$(this).children(".gl_relist").hide();
});
</script>
最初加载 div(gl_view2 和 gl_relist),但使用display:none;
现在,这个 js 被加载到页脚中,以确保它在有问题的 div 之后。
假设我有无限滚动设置一次更新 15 个项目
对于前 15 个项目,这一切都完美地工作(意味着在 mouseenter 上应该显示/覆盖的 div 被显示),但之后项目加载但 mouseenter 根本不再工作。我猜这是因为 js 已经加载,当下一个项目加载到页面上时,js 没有任何效果。
要使用无限滚动加载下一个项目,我正在使用:
<nav id="page_nav"><a href="/pages/infinScrollGather.html?page_offset=2¤tpage=homepage"></a></nav>
我也尝试在每个项目之后加载 js,但仍然只适用于前 15 个。
我也尝试过,但这根本不起作用:
$("body").on("mouseenter", ".list_item_image", function () {
...
});
$("body").on("mouseleave", ".list_item_image", function () {
...
});
有没有人遇到过这样的事情?任何修复的想法?