我有一个网页,其中有一些执行以下操作的 javascript:
- 启动画廊滑块
- 启动响应式图像网格
- 根据 URL 中的标签滚动到特定的 div
问题是页面在其他两个完成之前滚动到 DIV,导致我事先不可能知道的偏移量。所以我需要确保前两个脚本已经完成并且所有动画都完成了,然后再滚动到 ID。
我研究了回调,并做了很多谷歌搜索。但我不确定我是否全部理解。所以我需要一个实际的工作示例。我尝试将脚本分成几个函数,就像我通常在 vbscript 中那样。但我只是在学习 javascript,我认为这是我在继续之前真正需要了解的东西。
基本上这就是我想要完成的:
$(function () {
jQuery(document).ready(function () {
startSliderAndGrid();
});
});
function startSliderAndGrid() {
//initialize slider
$('#home-slider').someSliderPlugin();
$('.simpleslide').someOtherPlugin();
scrollToID();
}
function scrollToID() {
if (window.location.hash) {
var hashtag = window.location.hash;
$('body').animate({
scrollTop: $(hashtag).offset().top
}, 500);
}
}
所以在 document.ready 上,我想启动第一个函数,初始化插件,然后继续滚动到 ID。不过,我尝试过使用 timeOut 函数,这确实有效。但我无法预测每个系统初始化插件需要多长时间。所以这可能不是理想的解决方案。
再一次,对不起,如果这真的很基本(可能是),但我需要尽快把它放在我的脑海里:)