2015-05-17 3 views
0

Я создал ссылку на определенный параграф. Поэтому, когда я нажимаю кнопку, я перехожу к абзацу на той же странице.Ссылка на пункт на той же странице

Кнопка:

<a href="http://example.com/#paintings">Paintings</a> 

Ссылка на пункт:

<a name="paintings"><h2>Paintings</h2></a> 

Моя проблема заключается в том, что я хочу, чтобы настроить вид после нажатия на ссылку. То, что я на самом деле хочу сделать, это:

  1. Нажмите кнопку
  2. Перейти к пункту
  3. Прокрутка вниз 40px

Есть простой способ для достижения этой цели?

+0

Что вы подразумеваете под 500px текущего вида? –

+0

Вы имели в виду, что вам нужно какое-то пространство над абзацем, когда оно появляется? Если да, то почему вы хотите получить максимальную прибыль в 500 пикселей? Это огромное количество. – Quillmondo

+0

500px был всего лишь примером. Я думаю, что это будет как 40px. И когда появляется параграф, я хотел бы, чтобы представление немного (например, 40 пикселей) прокручивалось вниз. –

ответ

0

Я установил его с помощью jQuery.

var element = document.getElementById(page); 
var rect = element.getBoundingClientRect(); 
var elementLeft,elementTop; 
var scrollTop = element.scrollTop? 
element.scrollTop:document.body.scrollTop; 
elementTop = rect.top+(scrollTop); 
var menuBar = $('#header').height(); 

$("html, body").animate({ 
    scrollTop: (elementTop -menuBar) 
}, 1000/2); 

Это сделает мою страницу прокруткой вниз до элемента. Он вычислит высоту элемента в моем html и выровнят высоту моей строки меню.

1

Просто измените <a name="paintings"> на <a id="paintings">.

<a id="paintings"><h2>Paintings</h2></a> 
+0

Я думаю, что OP означало, что вы нажимаете на ссылку, она выводит вас на страницу и автоматически прокручивает вниз 500 пикселей. Ваш ответ просто изменяет имя и идентификатор. – Blake

+0

Как раз то, что говорит Блейк. Так что это не поможет. –

Смежные вопросы