我正在使用一个函数来专注于div的内容,我使用了这个函数,但是点击了内容没有正确聚焦。当我点击第三个链接时,它专注于第二个,以及第四个聚焦第三个内容......它有效地运行...任何想法?
我的代码是:
$(function(){
$('#navi a').click(function(e){
e.preventDefault();
move($(this).attr("href"));
})
function move(id){
$('#content').animate({scrollTop:$(id).offset().top},'slow');
}
})
当我发出警报并获得偏移量()。顶部时,它每次都显示错误的值。 我从'a'的href中取出了id。感谢
答案 0 :(得分:1)
好的...所以你希望#content滚动到一个子节点,但是你正在使用基于窗口的元素offset。试试这个:
$('#content').animate({scrollTop:$(id).position().top},'slow');
或者你想滚动窗口?
$('html, body').animate({scrollTop:$(id).offset().top},'slow');
如果这些都不适合您,请发布som html。
答案 1 :(得分:0)
除非您的href不包含“#”,否则请尝试:
$('#content').animate({scrollTop:$("#"+ id).offset().top},'slow');
答案 2 :(得分:0)
$('#content').animate({scrollTop:$(id).offset().top+$(id).height()},'slow');