Javascript/Jquery window.location

Javascript/Jquery window.location

本文关键字:location window Jquery Javascript      更新时间:2023-09-26

我的页面在选项卡中有一些数据,我试图编写一个函数,以便当从另一个页面单击链接时可以加载带有选项卡的页面并显示正确的选项卡。这是使用下面的代码,减去实际的更改选项卡功能。但是由于某种原因使用窗口.位置.....作为变量,仍将页面向下滚动到匹配的 ID。有没有另一种方法可以在 # 之后的 url 中获取字符串。或者我可以这样做但不必跳转到 id?谢谢

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();
    };
}

哈希字符用于锚点。

使用问号而不是哈希。

<a href="index.html?tabname">

var linkToTab = window.location.search.substr(1);
var linkClass = '.'+linkToTab
if(window.location.search != '') {

URL 的#部分传统上用于锚点。您看到的"跳跃"是原始功能。

现代网站和Web应用程序使用它来构建历史记录,因为HTML5的历史记录功能尚未得到广泛支持。

为避免跳转,请向链接添加event.preventDefault,例如:

<a href="#tab1" id="tab1handle">Tab1</a>
<script type="text/javascript">
  document.getElementById("tab1handle").onclick = function (event) {
    event.preventDefault();
  }
</script>

您还可以确保未定义定位点。在这种情况下,浏览器将跳转到页面顶部。这是否不可取取决于您。