Ребята, подскажите, как решить следующую задачу:
У меня следующий функционал:
class doctorsNavModule {
constructor () {}
handler () {
const
_this = this;
const
trigger = $('.submenu__link-nav-trigger');
trigger.on('click', function (event) {
event.preventDefault();
let
$this = $(this),
targer = $this.data('name'),
reqSection = {};
setTimeout(function() {
$('[data-target]').each(function () {
let
$this = $(this),
trigger = $this.data('target');
if (targer == trigger) {
reqSection = $this;
}
});
let reqScroll = reqSection.offset().top - 300; // Uncaught TypeError: reqSection.offset is not a function
console.log(reqScroll);
$('html, body').animate({
scrollTop: reqScroll
});
}, 500);
});
}
init () {
this.handler();
}
}
let doctorsNavInit = new doctorsNavModule();
doctorsNavInit.init();
И, при определенных действиях, следующий код:
let reqScroll = reqSection.offset().top - 300;
выдает ошибку:
Uncaught TypeError: reqSection.offset is not a function
После чего приложение падает.
Я знаю (думаю), что данный момент можно обработать, чтобы код не ломался с помощью перехвата ошибок, "try..catch", но не понимаю как правильно это сделать.
Помогите, пожалуйста решить данную задачу.