我正在开发一个具有一些 AJAX 功能和一些动画效果的网站。
当用户到达网站主页时,会调用一个打开简单图像旋转器的函数。该横幅旋转器仅位于主页上,因此在用户开始从任何其他页面浏览网站时调用该函数是没有意义的:
if (location.pathname.length <= 1) {
animate_hero_images();
}
在第一个页面加载后,用户通过单击链接开始在站点周围导航,AJAX 启动,所有其他页面加载到用户第一个到达的页面。
问题#1:如果用户第一次到达不是主页的页面,然后才通过AJAX加载主页,animate_hero_images
则不会调用函数(横幅旋转器被禁用)。
问题#2:如果用户首先到达主页,然后导航到其他页面,然后再次返回主页,那么很遗憾我无法控制该特定站点的一些特定问题,animate_hero_images
功能加载有明显的延迟,并且无法正常工作。
我试图通过在事件animate_hero_images
上再次调用函数来解决这两个问题。click
但它只解决了部分问题:如果用户从非主页开始然后加载主页,则调用该函数,并且图像旋转器工作正常。但是,如果用户从主页开始,到其他地方,然后返回主页,则该函数被调用 ok,然后几分钟后,相同的函数从上一次调用中启动,并且图像开始旋转很多速度更快,而且节奏很奇怪。
我的解决方案是为主页调用该函数,然后单击停止该函数,然后一旦加载新页面,如果是主页,再次调用该函数。
我使用这个片段来禁用该功能:
$("body").on('click', '.ajax-link a', function(event) {
animate_hero_images = function() {};
// do all sorts of other stuff
}
不知何故,这不起作用:当我通过 AJAX 回到主页时,任性功能打开。
我怎么解决这个问题?