Javascript 第一个滚动脚本之后的fullpage.js

Javascript 第一个滚动脚本之后的fullpage.js,javascript,jquery,scroll,fullpage.js,Javascript,Jquery,Scroll,Fullpage.js,关于完整页面插件的问题: 您可以在任何部分打开网站。例如,此链接将在第四节中打开站点: 这意味着一旦打开站点,站点立即开始滚动(它会向下滚动到第四部分) 但是,我有一个脚本(它加载了一个聊天框)可以减慢这个过程。虽然我在Fullpage.js初始化脚本之后添加了聊天脚本,但我的站点首先加载聊天框,然后将Fullpage滚动到右侧部分 我希望页面首先在site open上向下滚动到右侧部分,一旦站点打开并滚动到右侧部分,则聊天盒脚本需要开始运行(只要站点打开) 如何做到这一点?我试图将聊天脚本放

关于完整页面插件的问题:

您可以在任何部分打开网站。例如,此链接将在第四节中打开站点:

这意味着一旦打开站点,站点立即开始滚动(它会向下滚动到第四部分)

但是,我有一个脚本(它加载了一个聊天框)可以减慢这个过程。虽然我在Fullpage.js初始化脚本之后添加了聊天脚本,但我的站点首先加载聊天框,然后将Fullpage滚动到右侧部分

我希望页面首先在site open上向下滚动到右侧部分,一旦站点打开并滚动到右侧部分,则聊天盒脚本需要开始运行(只要站点打开)


如何做到这一点?我试图将聊天脚本放在afterLoad和afterRender中,但由于某种原因,我的聊天框根本没有显示出来。是否有办法在加载Fullpage后以及在第一次滚动(现场打开)到右侧部分后执行某些操作?

正如我在前面的评论中所说:


可能需要时间的是加载脚本运行所需的JS、CSS或SWF文件。Fullpage.js将等待站点中的所有元素加载完毕,然后滚动到该部分。这样做的原因是使用scrollOverflow:true时在节中使用了图像,因为fullpage.js需要根据加载图像的大小确定节是否需要滚动条

要解决这个问题,可以使用jQuery或ajax动态加载元素

否则,您可以编辑fullPage.js并更改:

为此:

scrollToAnchor();
唯一的问题是,每次更新fullpage.js时,您必须记住更改该行


请随意打开一个问题,解决方案可能会在将来的版本中实现

我认为当你说你想使用afterLoad或afterRender来初始化聊天脚本时,你已经有了正确的方法——原则上这应该是可行的。你说聊天室因为某种原因没有出现-你应该找出原因是什么。加载页面时,您能在JavaScript控制台中看到任何错误吗?你有你的网页链接吗?谢谢@ilokhov。可能是打字错误或是我的密码有问题。为什么我认为后加载可能是一个问题,是因为它是在每个节切换之后触发的(当您在节之间的页面上导航时)。我不知道这是否会干扰脚本,因为这个脚本需要触发一次(当您最初打开站点时)。这就是为什么我的第二个想法是afterRender,但函数似乎不会等待页面滚动(如问题中所解释的),否则我可能错了。。。一旦我有了一个可共享的链接,我就会在这里发布它。可能需要时间的是加载该脚本运行所需的JS、CSS或SWF文件。Fullpage.js将等待站点中的所有元素加载完毕,然后滚动到该部分。之所以这样做,是因为在使用
scrollOverflow:true
时在节中使用了图像,因为fullpage.js需要根据加载图像的大小来确定节是否需要滚动条。这是一个很好且清晰的解释,谢谢@Alvaro。那么,这意味着什么——我别无选择?只需让Fullpage等待一切,包括这个聊天脚本?找到了一个解决方案:在部分加载后如何将脚本写入DOM?但是否也有“首次打开区段加载后”的功能?(这样它就不会在下一节加载时触发)?您的回答是出于好意,但不幸的是在删除$window.on('load',function(){…});,并且只保留滚动到anchor();,然后,该网站根本无法滚动,也无法再滚动。在scrollToAnchor()之后动态加载聊天脚本的最佳方式是什么;。我想的是:$window.on('load',function(){scrollToAnchor();myScript();});但我的脚本不是这样加载的。有谁比我有更多的技术知识和解决方案吗?正如我在对你的原始问题的评论中提到的:当你加载页面时,你能在JavaScript控制台中看到任何错误吗?你有你的网页链接吗?谢谢@ilokhov。当我加载页面时,脚本在Javascript控制台中没有显示错误。虽然这也是一个好主意,但我并不打算让脚本更快,但我会在Stackoverflow上发布另一个问题。这个问题是关于如何更改Fullpage.js中的顺序。1) 首先滚动到右侧部分。2) 其次,加载脚本。感谢您的帮助或任何人的帮助!关于链接:此链接的作用完全相同:它首先加载所有内容,然后滚动到页面。我认为示例页面的作用不同,因为在该页面上,在完整页面滚动到第4页之后,没有尝试加载任何内容。您需要尝试的是在初始化插件时添加afterLoad作为一个选项。所以它可能看起来像这样(查看您发布的示例链接)-afterLoad:function(anchorLink,index){if(anchorLink=='4thpage'){myScript();}}。但问题是,如果你没有将链接发布到你试图实现这一点的页面,那么就很难用你的特定代码来帮助你。
scrollToAnchor();