使用 setTimeout 滚动 div 的内容
Scrolling div's content with setTimeout
你们能告诉我这个脚本有什么问题吗?
它假设在延迟 20 秒后将父元素的内容滚动到子元素。
Parent 是没有滚动条的溢出隐藏滚动内容,但我认为这无关紧要。
编辑:打字错误并将#childelement 更改为 href。它仍然无法正常工作。我在它应该滚动的子元素中有 href 元素。
<script>
setTimeout(
function(){
var target = $( $(this).attr('href'));
if( target.length ) {
event.preventDefault();
$('#parentelement').animate({
scrollTop: target.offset().top
}, 1000);
}
},
20000
);
</script>
您在这一行中有语法错误:
var target = $( $(this).attr('#childelement');
你忘了关闭括号!!
var target = $( $(this).attr('#childelement'));
另一个语法错误,没有html属性可以调用#childelement
一些合法的 html 属性 class
id
href
等等
示例:
var className = $('.ClassName').attr('class');
对于您的任务,这就是您所需要的:
setTimeout(function() {
var target = $( $('a[href^="#"]').attr('href') );
if( target.length ) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
}
}, 2000);
这将像您期望的那样在 2 秒后触发滚动动画。
你们能告诉我这个脚本有什么问题吗? 它假设在延迟 20 秒后将父元素的内容滚动到子元素。 Parent 是没有滚动条的溢出隐藏滚动内容,但我认为这无关紧要。
编辑:打字错误并将#childelement 更改为 href。它仍然无法正常工作。我在它应该滚动的子元素中有 href 元素。
<script>
setTimeout(
function(){
var target = $( $(this).attr('href'));
if( target.length ) {
event.preventDefault();
$('#parentelement').animate({
scrollTop: target.offset().top
}, 1000);
}
},
20000
);
</script>
您在这一行中有语法错误:
var target = $( $(this).attr('#childelement');
你忘了关闭括号!!
var target = $( $(this).attr('#childelement'));
另一个语法错误,没有html属性可以调用#childelement
一些合法的 html 属性 class
id
href
等等
示例:
var className = $('.ClassName').attr('class');
对于您的任务,这就是您所需要的:
setTimeout(function() {
var target = $( $('a[href^="#"]').attr('href') );
if( target.length ) {
$('html, body').animate({
scrollTop: target.offset().top
}, 1000);
}
}, 2000);
这将像您期望的那样在 2 秒后触发滚动动画。