我怎么能让jQuery直接转到?
我想让jQuery直接导航(没有动画需要)到我传入变量的id。
我有各种标记,如id="content"
, id="edit"
, id="..."
,它们是
标题。 使用PHP进行validation我将输出一个变量,如var NAVIGATE_TO =
,我想将网站移动到该id
位置。
就像我做domain.tld/page#edit
或#content
但使用jQuery一样,因为当我加载页面时,我的PHP框架不允许我指示哈希。
您可以将location.hash
设置为您需要浏览器滚动到的id
:
window.location.hash = '#edit';
根据我的经验, window.location.hash
解决方案只能工作一次。 如果您不想使用该插件,可以试试这个:
var navigationFn = { goToSection: function(id) { $('html, body').animate({ scrollTop: $(id).offset().top }, 0); } }
然后像这样调用它(其中someID
是你想要滚动到的元素的ID):
navigationFn.goToSection('#someID');
使用此function,您还可以改变动画速度(我将其设置为0)以便它是即时的,但您可以将值传递给函数,以便代码可以重复使用。
使用jquery scrollto插件然后就可以这样做
$(document).ready(function(){ $(".topMenu").click(function() { $.scrollTo($("#edit"), { duration: 0}); });