Непонятная ошибка в скрипте для плавной прокрутке?

278
26 декабря 2017, 18:53

https://jsfiddle.net/d83tocz1/

$('a[href^="#"]').click(function () {  
  var elementClick = $(this).attr("href"); 
  var destination = $(elementClick).offset().top; 
  if($.browser.safari){ 
    $('body').animate( { scrollTop: destination }, 1100 ); 
  }else{ 
    $('html').animate( { scrollTop: destination }, 1100 ); 
  } 
  return false; 
})
header{ 
  height: 400px; 
  background: red; 
} 
 
section{ 
  height: 700px; 
  background: #000; 
}
<header> 
<a href='#go'>scrollll too</a> 
 
</header> 
 
 
<section> 
  <a name='go'></a> 
</section>

Добрый день, есть данный скрипт но выдает ошибку по непонятным мне причинам

Answer 1

Ошибка в селекторе. $(this).attr("href") возвращает строку #go, и функция $('#go') пытается найти элемент с атрибутом id, а такого нет. Для исправления ошибки, уберем символ # и перепишем селектор для выбора элемента a c атрибутом name.

$('a[href^="#"]').click(function () { 
  var elementClick = $(this).attr("href");
  var destination =$('a[name="'+elementClick.replace('#', '')+'"]').offset().top;
  if($.browser.safari){
    $('body').animate( { scrollTop: destination }, 1100 );
  }else{
    $('html').animate( { scrollTop: destination }, 1100 );
  }
  return false;
})
READ ALSO
Формат вывода даты 01-01-2018

Формат вывода даты 01-01-2018

Есть функция, которая выводит дату через определенное кол-во дней:

215
Бегущая строка при скролле

Бегущая строка при скролле

Друзья, всем привет! как сделать вот такую бегущую строку при скролле? То есть, строка должна полностью прокрутиться до конца сайтаСмотреть...

213
Не работает jQuery на Nokia Lumia 605 [требует правки]

Не работает jQuery на Nokia Lumia 605 [требует правки]

Сделал сайт (hizhinafloristaru), решил протестировать

216