已经有100个问题,但仍然无法找到解决方案,为什么我的代码段失败
这是我正在使用的jQuery:
$("#readmore").click(function(event){
event.preventDefault();
var link = $(this);
$("#readmore_div").slideToggle('slow',function(){
if($(this).is(':visible')){ //if div is visible
link.html('<b>Close</b>'),//Change text & scroll
$('html, body').animate({scrollTop : $("#readmore_div").offset().Top});
}else{ //Revert back original text
link.html('<b>Read More</b>');
}
});
});
html()
中的文字正在变好,但animate
未将页面滚动到#readmore_div
任何人都可以指出错误!
答案 0 :(得分:1)
在代码中用Top
替换top
。
试试这个:
$("#readmore").click(function(event){
event.preventDefault();
var link = $(this);
$("#readmore_div").slideToggle('slow',function(){
if($(this).is(':visible')){ //if div is visible
link.html('<b>Close</b>'),//Change text & scroll
$('html, body').animate({scrollTop : $("#readmore_div").offset().top});
}else{ //Revert back original text
link.html('<b>Read More</b>');
}
});
});
的jsfiddle:
当前功能将按钮的文字更改为Read More
并再次点击它将其滚动到#readmore_div
答案 1 :(得分:1)
试试这个:
$('html,body').animate({
scrollTop: $('#errors').offset().top},'slow');