Javascript Jquery UI选项卡直接链接问题
我正在使用jQueryUI选项卡处理一个页面,我的客户机要求每个选项卡都有一个直接链接。我用以下代码解决了这个问题:Javascript Jquery UI选项卡直接链接问题,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在使用jQueryUI选项卡处理一个页面,我的客户机要求每个选项卡都有一个直接链接。我用以下代码解决了这个问题: $(function() { $("#tabs").tabs(); $("#tabs").bind('tabsshow',function(event, ui) { window.location = ui.tab; }) }); 现在,当用户单击每个选项卡时,url显示为:,该用户可以将url添加为书签,但浏览器会自动向下滚动到#ID所
$(function() {
$("#tabs").tabs();
$("#tabs").bind('tabsshow',function(event, ui) {
window.location = ui.tab;
})
});
现在,当用户单击每个选项卡时,url显示为:,该用户可以将url添加为书签,但浏览器会自动向下滚动到#ID所在的位置,这很烦人。当用户在选项卡上计时时,我可以通过添加以下JQuery代码来覆盖这一点:
$(".tab-set ul li a").click(function(e) {
window.scrollTo(0,0);
});
但是,如果直接在地址栏中输入URL,而不是单击选项卡,我找不到可以避免这种情况的方法。我尝试了以下方法,但无效:
window.onload = scroll(0,0);
及
那怎么办
$(function(){
$.scrollTo('0px');
//or
$.scrollTo('body',0);
});
这是滚动到哈希的默认浏览器行为 你可以试试这个
$(function(){
if(location.hash && location.hash == "#your-tab-id-name-here") {
$('html, body').animate({scrollTop:0}, 0);
}
});
@ShankarSignoli尝试了以下方法:
$(函数(){if(location.hash&&location.hash==“#tabs-1”| |“#tabs-2”|“#tabs-3”| |“#tabs-4”| |“#tabs-5”){$('html,body')。动画({scrollTop:0},0)})代码>您可以使用标签的|
或条件,使代码简单。@ShankarSignoli但它不起作用,它最初会向上滚动,然后返回到#id区域…感谢您的反馈,但这只是另一种方法,我已经在做同样的事情了。我遇到的问题是在标签已经加载之后让页面滚动,所以这不起作用。
$(function(){
if(location.hash && location.hash == "#your-tab-id-name-here") {
$('html, body').animate({scrollTop:0}, 0);
}
});