Это работает (например, это идентификатор тега h2):
<script type="text/javascript">
jQuery(document).ready(function($){
var menubarHeight = 54;
$('a[href^=#]').on('click', function(e){
var href = $(this).attr('href');
$('html, body').animate({
scrollTop:$(href).offset().top -menubarHeight }, 1);
});
});
<script type="text/javascript">
jQuery(document).ready(function($){
var menubarHeight = 154;
$('a[href^=#idofh2]').on('click', function(e){
var href = $(this).attr('href');
$('html, body').animate({
scrollTop:$(href).offset().top -menubarHeight }, 1);
});
});
Это не работает (я хочуэта функция для всех hrefs из h2 только для этих страниц -> https://example.com/, https://example.com/2.):
<script type="text/javascript">
jQuery(document).ready(function($){
var menubarHeight = 154;
$('a[href^=#]').on('click', function(e){
// Here you can see, that there is h2. I don't know where to place it.
var href = $(this).attr('h2');
$('html, body').animate({
scrollTop:$(href).offset().top -menubarHeight }, 1);
});
});
Я использую 1, потому что я хочу прыгать, а не плавнопрокрутка. Что я могу использовать вместо .animate?
Если я использую это:
<script type="text/javascript">
jQuery(document).ready(function($){
var menubarHeight = 54;
$('a[href^=#]').on('click', function(e){
var href = $(this).attr('href');
$('html, body').css("scrollTop", $(href).offset().top -menubarHeight);
});
});
, то 54 не работает.
Это:
$('a[href^=#]')
обычно для 54.
И это:
$('a[href^=#idofh2]')
- это идентификатор одного тега h2 страницы. Это работает. Но какмогу ли я использовать его для всех тегов h2 и только для страниц https://example.com/, https://example.com/2? Если я перехожу на тег h2, он должен быть 154 (menubarHeight), в противном случае 54.