当我点击锚标签时,滚动条会直接进入页面底部,然后进入所需位置。它应该直接进入元素$(".accordion-title[data-name='" + name + "']")
$(".cast-roles a").click(function(event) {
var name = $(this).attr("data-name");
event.preventDefault();
var scrollval = $(".accordion-title[data-name='" + name + "']").offset().top - 100;
$("html,body").animate({
scrollTop:scrollval},1000);
});
});
我不知道我哪里出错了。我该如何解决?
答案 0 :(得分:1)
正如您可以看到它下方的代码段工作正常
$(document).ready(function(){
$(".cast-roles a").click(function(event) {
var name = $(this).attr("data-name");
event.preventDefault();
var scrollval = $(".accordion-title[data-name='" + name + "']").offset().top - 100;
$("html,body").animate({
scrollTop:scrollval},1000);
});
});

.accordion-title{
height : 500px;
width : 100vw;
background-color : #000;
color : #FFF;
margin-top : 500px;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="cast-roles">
<a data-name="redirection">Button</a>
</div>
<div class="accordion-title" data-name="redirection">
Test
</div>
&#13;
我刚刚看到一个错误,但我认为你复制然后粘贴了
时忘记了这一行$(document).ready(function(){
在您的代码中,您关闭了文档就绪函数,但没有在JS代码之上编写它
$(".cast-roles a").click(function(event) {
var name = $(this).attr("data-name");
event.preventDefault();
var scrollval = $(".accordion-title[data-name='" + name + "']").offset().top - 100;
$("html,body").animate({
scrollTop:scrollval},1000);
***});***
});
对不起,如果我的英语不好运,祝你好运,希望我帮助你