首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript/Jquery window.location

Javascript/Jquery window.location
EN

Stack Overflow用户
提问于 2013-10-10 11:38:30
回答 2查看 82关注 0票数 0

我有页的一些数据在制表符中,我试图写一个函数,以便当链接是从另一个页面点击可以加载页与选项卡和显示正确的选项卡。这使用下面的代码,减去实际更改的选项卡函数。但出于某种原因使用window.location.作为一个变量,页面仍然向下滚动到匹配的id。是否有其他方法可以在#后面的url中获取字符串。或者我可以这样做,但不需要跳到id?谢谢

代码语言:javascript
复制
function loadTab(){

var linkToTab = window.location.hash.substr(1);
var linkClass = '.'+linkToTab

if(window.location.hash != '') {

        changeTabs(linkClass);
    }else{
        $('.companyLink:first').addClass('active');
        $('.companyBio:first').addClass('active');
        $('.companyBio:first').fadeIn();

    };

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-10 12:00:31

散列字符用于锚。

使用问号而不是散列。

代码语言:javascript
复制
<a href="index.html?tabname">

代码语言:javascript
复制
var linkToTab = window.location.search.substr(1);
var linkClass = '.'+linkToTab

if(window.location.search != '') {
票数 0
EN

Stack Overflow用户

发布于 2013-10-10 11:43:15

URL的#部分传统上用于锚点。你看到的“跳跃”是最初的特征。

现代网站和网络应用程序使用它建立了一个历史,作为HTML5 5的历史特性还没有得到广泛的支持。

为了避免跳转,将event.preventDefault添加到链接中,如:

代码语言:javascript
复制
<a href="#tab1" id="tab1handle">Tab1</a>

<script type="text/javascript">
  document.getElementById("tab1handle").onclick = function (event) {
    event.preventDefault();
  }
</script>

还可以确保没有定义锚。在这种情况下,浏览器将跳转到页面的顶部。这是否不受欢迎取决于你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19294776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档