链接到不同的页面 – > jquery滚动到特定的锚点
在我的主页底部,我已经包含了一个联系表单,并将此部分的锚点指定为div id =“contact”。
当在任何页面上单击联系人按钮时,它应该导航到主页并在页面加载时,自动滚动到联系人表单。
在查看了我在这里找到的类似问题之后,我一直没有成功地开始工作: jQuery从不同页面滚动到ID当我尝试时,它只是跳转到表单。 我想让它顺利滚动。
Get in touchContact
问题jquery函数从其他页面滚动到主页上的联系人锚点:
(function($){ var jump=function(e) { if (e) { e.preventDefault(); var target = $(this).attr("href"); } else { var target = location.hash; } $('html,body').animate({ scrollTop: $(target).offset().top },1000,function() { location.hash = target; }); } $('html, body').hide() $(document).ready(function() { $('a[href^=#]').bind("click", jump); if (location.hash) { setTimeout(function(){ $('html, body').scrollTop(0).show() jump() }, 0); } else { $('html, body').show() } });
我试图实现类似于这个例子的东西: http : //vostrel.cz/so/9652944/page.html不同之处在于,在这两种情况下出现的锚点ID(联系人) )对我来说只出现在一页(家)。
试试这个,你的脚本没问题,只剩下最后一行
(function ($) { var jump = function (e) { if (e) { e.preventDefault(); var target = $(this).attr("href"); } else { var target = location.hash; } $('html,body').animate({ scrollTop: $(target).offset().top }, 1000, function () { location.hash = target; }); } $('html, body').hide(); $(document).ready(function () { $('a[href^=#]').bind("click", jump); if (location.hash) { setTimeout(function () { $('html, body').scrollTop(0).show() jump(); }, 0); } else { $('html, body').show(); } }); })(jQuery)
我不确定你的代码是什么,但我已经能够让它运行起来。 有一件事是,你发布的代码,它最后缺少一个})(jQuery)
。 无论如何,看看我在这里做了什么,我想这就是你要找的东西。 我不确定你的网站的HTML是什么样的,但我认为你可以适应它。 您需要做的就是将联系人按钮的href属性设置为https://stackoverflow.com/questions/11820055/link-to-different-page-jquery-scroll-to-specific-anchor/index.html#contact
。 在https://stackoverflow.com/questions/11820055/link-to-different-page-jquery-scroll-to-specific-anchor/index.html上,你可以使用#contact
,它会做同样的事情。
在https://stackoverflow.com/questions/11820055/link-to-different-page-jquery-scroll-to-specific-anchor/index.html中,标题:
但在任何其他页面中:
在https://stackoverflow.com/questions/11820055/link-to-different-page-jquery-scroll-to-specific-anchor/index.html的头文件中删除https://stackoverflow.com/questions/11820055/link-to-different-page-jquery-scroll-to-specific-anchor/index.html
阻止页面加载两次,因此jQuery只是向下滚动页面。
在测试你的代码时我遇到的一些提示:
因为您正在使用锚标记的href属性,所以它以#contact的forms出现,jQuery将其解释为ID。
您需要向锚点添加一个id =“contact”才能使其正常工作,无论它在哪个页面上。