Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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 锚定标签在下拉列表中_Javascript_Html_Css_Drop Down Menu_Anchor - Fatal编程技术网

Javascript 锚定标签在下拉列表中

Javascript 锚定标签在下拉列表中,javascript,html,css,drop-down-menu,anchor,Javascript,Html,Css,Drop Down Menu,Anchor,我正在研究如何创建一个下拉菜单,一旦选择了一个选项,你就可以通过锚定标签向下滚动页面,而不是跳转到一个新的页面,但我没办法弄清楚 到目前为止,我的逻辑是将下拉列表设置为一个变量。将该变量和onchange进行比较,将其与当前位置进行比较,只要该位置不是“0”,就尝试使其跟随锚链接,就像我使其加载新页面一样。有人能帮我弥补我所缺少的吗 HTML: 不能将锚定标记放入元素中。但我认为您遇到的问题是,当您应该使用window.location.hash时,您正在使用window.location.hr

我正在研究如何创建一个下拉菜单,一旦选择了一个选项,你就可以通过锚定标签向下滚动页面,而不是跳转到一个新的页面,但我没办法弄清楚

到目前为止,我的逻辑是将下拉列表设置为一个变量。将该变量和onchange进行比较,将其与当前位置进行比较,只要该位置不是“0”,就尝试使其跟随锚链接,就像我使其加载新页面一样。有人能帮我弥补我所缺少的吗

HTML:


不能将锚定标记放入
元素中。但我认为您遇到的问题是,当您应该使用
window.location.hash时,您正在使用
window.location.href

我创建了这个fiddle,它维护锚标记,但使用散列。我必须更新
“value=“
的值以匹配您希望浏览器滚动到的
id


您不能将锚定标记放入
元素中。但我认为您遇到的问题是,当您应该使用
window.location.hash时,您正在使用
window.location.href

我创建了这个fiddle,它维护锚标记,但使用散列。我必须更新
“value=“
的值以匹配您希望浏览器滚动到的
id


下面是一个简单的例子

p.S:避免
锚定
选项

var-dropDownValue=document.getElementById(“dropDown”);
dropDownValue.onchange=函数(){
if(this.selectedIndex!==0){
window.location.href=this.value;
}
};
p{
最小高度:500px;
}

一
二
三
标题一

标题二


标题三是一个简单的例子

p.S:避免
锚定
选项

var-dropDownValue=document.getElementById(“dropDown”);
dropDownValue.onchange=函数(){
if(this.selectedIndex!==0){
window.location.href=this.value;
}
};
p{
最小高度:500px;
}

一
二
三
标题一

标题二


标题三

啊,好的,我明白了。但是这是在select中使用锚定标记的,不是吗?我不会添加它们,因为它们没有被使用。由于JS代码和option元素上的
,它会发生变化。删除
也不需要
元素中的
标记。
href
hash
值与元素的
id
无关。是否有一种简单的方法可以使用vanilla js使滚动平滑?啊,好的,我明白了。但是这是在select中使用锚定标记的,不是吗?我不会添加它们,因为它们没有被使用。由于JS代码和option元素上的
,它会发生变化。删除
也不需要
元素中的
标记。元素的
id
值的
href
hash不起作用。使用香草js使滚动平滑有没有一种简单的方法?是否有一种简单的方法可以使用香草js使滚动平滑?是否有一种简单的方法可以使用香草js使滚动平滑?
<select name="dropDown" id="dropDown">
<option value="one"><a href="#heading1">one</a></option>
<option value="two"><a href="#heading2">two</option>
<option value="three">three</option>
</select>


<p id="heading1"><a name="heading1">Heading one</a></p>

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br    /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />    <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br />

<p id="heading2"><a name="heading2">Heading 2</a></p>
var dropDownValue = document.getElementById("dropDown");

dropDownValue.onchange = function()
{
if(this.selectedIndex !== 0)
{
    window.location.href=this.value;
}
};