Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML/JS:默认使用锚定_Javascript_Html - Fatal编程技术网

Javascript HTML/JS:默认使用锚定

Javascript HTML/JS:默认使用锚定,javascript,html,Javascript,Html,在www中,您可以使用someplace#position跳转到#position锚定someplacehtml页面 如果未指定锚点,我希望始终跳转到#位置锚点。原因是我无法控制所有链接到某个地方的站点,因此我无法将#位置添加到所有url。据我所知,您想知道url上何时没有“哈希”吗 if(!window.location.hash.length) { // No hash on the url, your code here ? } 说这是你的锚: 在页面加载时创建单击事件: $(

在www中,您可以使用
someplace#position
跳转到
#position
锚定
someplace
html页面


如果未指定锚点,我希望始终跳转到
#位置
锚点。原因是我无法控制所有链接到某个地方的站点,因此我无法将
#位置添加到所有url。

据我所知,您想知道url上何时没有“哈希”吗

if(!window.location.hash.length)
{
    // No hash on the url, your code here ?
}

说这是你的锚:

在页面加载时创建单击事件:

$(文档).ready(函数(){
$('a.someplace')。单击();

});

最简单的方法是:

var curHash = document.location.hash;
document.location.hash = curHash === '#' || 'undefined' === typeof curHash ? 'position' : curHash.substring(1);
但值得注意的是,命名锚定有些过时,在所有浏览器中都被
id
所取代,因此:

<a name="position"></a>
<div>The 'position' area</div>


    • 也许我错了,但我认为这会奏效:

      window.location.hash = "#position"
      

      嗯,我无法让它工作:在Firefox中,URL后面会附加一个“#”(没有其他名称),它会跳转到另一个位置(没有锚)。在Chrome中,添加了no#,但它也跳到了错误的位置。在这两个浏览器中,正确的位置不是在顶部,而是在页面的中间(也许是故意的),你的答案应该是用命名锚或div ID或两者兼而有之吗?错误的位置似乎是浏览器试图与以前一样的智能和显示相同的视图的症状。
      window.location.hash = "#position"