如何在window.location.href中使用动态生成的id?
How to use a dynamically generated id in window.location.href?
我在 js 和 htm 中有以下代码。
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
<div id="button1" onclick="openDiv('div1')">Show div1</div>
<div id="button2" onclick="openDiv('div2')">Show div2</div>
<div id="button3" onclick="openDiv('div3')">Show div3</div>
每当单击按钮 (div) 时,页面应滚动到 div 的顶部。
function openDiv(divID) {
var myDivID = "#" + divID + "_myDiv";
window.location.href = myDivID;
}
这似乎不起作用。请指教解决方法。
此问题被标记为 div scroll to in javascript 的重复问题,但这并没有帮助。
如果您只需要滚动到 window window.location.href = "#"
的顶部
会做的很好。
function popitup(url,windowName) {
newwindow=window.open(url,windowName,'height=200,width=150');
if (window.focus) {newwindow.focus()}
return false;
}
试试这个
有动画
function openDiv() {
var myDivID = "#" + divID + "_myDiv";
$('html, body').animate({ scrollTop: $(myDivID).position().top}, 1000);
});
"window.location.href"用于改变浏览器的当前网页。
对于您的任务,您可以使用锚标记元素来显示 div 部分。就像下面一样,
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
...
<a id="button1" href="#div1_myDiv">Show div1</a>
<a id="button2" href="#div2_myDiv">Show div1</a>
<a id="button3" href="#div3_myDiv">Show div1</a>
能否请您按以下方式修改您的function openDiv()
:
function openDiv(divID) {
var myDivID = "#" + divID + "_myDiv";
window.location.hash = myDivID; //setting the location.hash
}
您需要 concate
现有 URL
中的 myDivID。
试试这个解决方案
function openDiv(divID) {
//alert(divID);
var myDivID = "#" + divID + "_myDiv";
//window.location.hash = myDivID;
window.location.href=window.location.href.concat('#Id');
console.log(window.location.href);
}
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
...
<div id="button1" onclick="openDiv('div1')">Show div1</div>
<div id="button2" onclick="openDiv('div2')">Show div2</div>
<div id="button3" onclick="openDiv('div3')">Show div3</div>
我在 js 和 htm 中有以下代码。
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
<div id="button1" onclick="openDiv('div1')">Show div1</div>
<div id="button2" onclick="openDiv('div2')">Show div2</div>
<div id="button3" onclick="openDiv('div3')">Show div3</div>
每当单击按钮 (div) 时,页面应滚动到 div 的顶部。
function openDiv(divID) {
var myDivID = "#" + divID + "_myDiv";
window.location.href = myDivID;
}
这似乎不起作用。请指教解决方法。
此问题被标记为 div scroll to in javascript 的重复问题,但这并没有帮助。
如果您只需要滚动到 window window.location.href = "#"
的顶部
会做的很好。
function popitup(url,windowName) {
newwindow=window.open(url,windowName,'height=200,width=150');
if (window.focus) {newwindow.focus()}
return false;
}
试试这个 有动画
function openDiv() {
var myDivID = "#" + divID + "_myDiv";
$('html, body').animate({ scrollTop: $(myDivID).position().top}, 1000);
});
"window.location.href"用于改变浏览器的当前网页。 对于您的任务,您可以使用锚标记元素来显示 div 部分。就像下面一样,
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
...
<a id="button1" href="#div1_myDiv">Show div1</a>
<a id="button2" href="#div2_myDiv">Show div1</a>
<a id="button3" href="#div3_myDiv">Show div1</a>
能否请您按以下方式修改您的function openDiv()
:
function openDiv(divID) {
var myDivID = "#" + divID + "_myDiv";
window.location.hash = myDivID; //setting the location.hash
}
您需要 concate
现有 URL
中的 myDivID。
试试这个解决方案
function openDiv(divID) {
//alert(divID);
var myDivID = "#" + divID + "_myDiv";
//window.location.hash = myDivID;
window.location.href=window.location.href.concat('#Id');
console.log(window.location.href);
}
<div id="div1_myDiv">This is my div1</div>
<div id="div2_myDiv">This is my div2</div>
<div id="div3_myDiv">This is my div3</div>
...
<div id="button1" onclick="openDiv('div1')">Show div1</div>
<div id="button2" onclick="openDiv('div2')">Show div2</div>
<div id="button3" onclick="openDiv('div3')">Show div3</div>