Во-первых, вы, кажется, используете scrollTop неправильно. Scrolltop без аргументов говорит вам, ГДЕ полоса прокрутки находится на элементе, если он есть. Scrolltop с аргументом высоты устанавливает полосу прокрутки. Поэтому $ ("# C2"). ScrollTop (), вероятно, вернет 0, так как элемент, вероятно, не имеет полосы прокрутки. И поскольку вы никогда не используете значение, оно ничего не сделает. Вы также, вероятно, хотите изменить полосу прокрутки всего документа. На самом деле вам нужно что-то вроде этого:
$(document).scrollTop( $(target).offset().top );
Вот пример в jsbin . Прокрутите вниз до нижней части, чтобы увидеть кнопки, по которым нужно щелкнуть, и затем он переместит прокрутку документа, чтобы переместить целевой элемент в верхнюю часть области просмотра.
- смещение возвращает объект с верхним и левым свойствами. Задание позиции элемента относительно документа. .position дает позицию относительно родителя. Используя этот верхний номер, вы можете использовать его в scrollTop для изменения положения документа.
- scrollTop затем берет это число (верхняя позиция элемента) и прокручивает документ (или другой элемент) в эту позицию.
Мне также кажется, что вы пытаетесь заставить элемент в верхней части страницы получать контент, независимо от того, какой элемент div был нажат?
Если это так, то либо непосредственно выберите этот элемент
$('#topElement').hide().load( filename ).fadeIn(500);
Или используйте один из реальных ajax-методов , для которого загружается ярлык, и укажите целевой элемент в обратном вызове успеха
$.ajax({
url: filename,
success: function( response ){
$("#topElement").hide().html(response).fadeIn(500);
}
)