将按钮链接到另一个页面的一部分
link a button to a part of another page
我有一个指向另一个页面的链接按钮,它可以工作,但我希望链接指向该页面的特定部分。我知道我应该使用jquery,出于某种原因,它没有跳到我想跳到的部分。
我的按钮链接:
<div class="btn_holder top-slide"><a
href="http://testurl.com/media#isabelo"><p class="leeu_button">READ
MORE</p></a>
</div>
我目前拥有的内容会滚动到页面底部,而不是id="isabello"的部分。所以这个jquery有效,但不是我想要的。希望你能理解。
$(document).ready(function(){
//check if hash tag exists in the URL
if(window.location.hash) {
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
1000);
} });
我也已经尝试过这个(根本不起作用):
$(document).ready(function(){
//check if hash tag exists in the URL
if(window.location.hash) {
$('html, body').animate({ scrollTop: $("#isabelo").offset().top }, 1000);
}
});
我试图链接到的页面有一个id="isabelo"的div
<div class="content_holder terms_row" id="isabelo">
<a href="http://www.example.com/some-page-or-other.html#exactline">Click here</a>
要跳转到的位置应该具有name="exactline"
属性
您不应该为此使用jquery。您应该能够使用直接的html链接到"media/pagename.html#isabelo"。但是您缺少页面名称。这一点,你需要在上面有一个NAME标签和ID。
我在同一页中尝试过,结果成功了。我不是jquery的专家,但如果:
$("html, body").animate({ scrollTop: $(document).height() }, 1000);
工作,但与isabello不工作,可能是因为浏览器还没有加载isabello所在的html。试着调试一下,看看你是否在这一点上有Isabello元素,或者它还没有加载。
我发现的另一件不同的事情是,在第一个例子中,你把"1000"放了两倍
$("html,body").animate({scrollTop:$(document).height()},1000)1000)
在第二个不是
$('html,body').animate({scrollTop:$("#isabello").offset().top},1000)
但我怀疑这是一个复制/粘贴的错误,因为在第一个例子中,我找不到它的意义,但它正如你所说的那样有效。
我的解决方案:
$(document).ready(function(){
//check if hash tag exists in the URL
if(window.location.hash) {
setTimeout(function(){
$('html, body').animate({ scrollTop: $("#isabelo").offset().top },
1000);
},1000);
}
});
使用超时函数稍后加载。已解决:)
setInterval将是比setTimeout更好的方法。如果您的页面没有在1秒内加载,那么setTimeout中的代码将无法按预期工作。但是,如果您每秒钟都有一个间隔,并在获得该元素后清除该间隔,那么这将始终有效。
$(document).ready(function(){
//check if hash tag exists in the URL
if(window.location.hash) {
a = setInterval(function(){
if($("#isabelo").length) {
$('html, body').animate({ scrollTop: $("#isabelo").offset().top },
1000);
clearInterval(a);
}
},1000);
}
});
- 将按钮链接到另一个页面的一部分
- 从另一个页面链接到手风琴的一部分
- ng-repeat=“(key, value)” 不能将 {{key}} 的值用作另一个指令的全局范围的一部分
- JavaScript - 如何检查一个字符串是另一个字符串的一部分还是等于另一个字符串
- 使用 jQuery $.post() 方法获取另一个网页的一部分
- 检查一个句子或句子的一部分是否在另一个句子中
- 仅使用 html 将网页的一部分插入到另一个网页中
- 跨域重新创建表单功能的一部分,或在另一个网站上自动填充单个字段
- 将JSON数组的一部分与另一个JSON数组组合在一起
- 使用一个变量名称作为另一个变量名的一部分
- 如何用另一个字符串替换字符串的一部分
- 使画布的一部分链接到另一个网页
- 如何隐藏3的一部分.PlaneBufferGeometry,当它位于另一个对象中时
- 在另一个页面中加载页面的一部分及其JavaScript代码
- 用另一个字符串javascript替换字符串的一部分
- 在另一个HTML页面中显示一个HTML页面的一部分
- 将json的一部分提取到另一个对象中,并在两者之间保持链接
- 重新定义作为另一个函数一部分的函数
- Fabricjs将画布的一部分复制到另一个画布
- 用占位符替换两个关键字的正则表达式,其中1可以是另一个关键字的一部分