我想让jQuery直接导航(没有动画需要)到我传入变量的id.
我有不同的标记一样id="content",id="edit",id="..."是<h2>冠军.使用PHP进行验证我将输出一个变量var NAVIGATE_TO = <?php echo $where_failed;?>,我想将网站移动到该id位置.
就像我做domain.tld/page#edit或者#content用jQuery一样,因为当我加载页面时,我的PHP框架不允许我指示哈希.
Yi *_*ang 35
您可以设置location.hash为id您需要浏览器滚动到:
window.location.hash = '#edit';
Run Code Online (Sandbox Code Playgroud)
Pat*_*ick 19
根据我的经验,该window.location.hash解决方案仅适用一次.如果您不想使用该插件,可以试试这个:
var navigationFn = {
goToSection: function(id) {
$('html, body').animate({
scrollTop: $(id).offset().top
}, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
然后像这样调用它(someID你要滚动到的元素的ID 在哪里):
navigationFn.goToSection('#someID');
Run Code Online (Sandbox Code Playgroud)
有了这个,您还可以改变动画速度(我将它设置为0)以便它是即时的,但您可以将值传递给函数,以便代码可以重复使用.
使用jquery scrollto插件然后就可以这样做
$(document).ready(function(){
$(".topMenu").click(function() {
$.scrollTo($("#edit"), { duration: 0});
});
Run Code Online (Sandbox Code Playgroud)