[英]Jquery smooth scrolling: Cannot read property 'top' of undefined
我正在嘗試編寫一個backtotop按鈕,它將位於頁腳的全站點,由於某種原因,它返回“無法讀取未定義的屬性'頂部'”。 任何幫助都會很棒,干杯。
JQUERY
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = '#'+$(this).data('target')
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000);
});
HTML
<a href="#" data-target="navigation"><span id="backtotop"><img id="upwardarrow" src="/img/upwardarrow.png"></span></a>
嘗試:
var target = '#'+$(this).parent().data('target');
this
在你的代碼是指不具有跨度data-target
,你必須從父訪問<a>
或者像這樣修改你的html:
<a href="#" id="backtotop" data-target="navigation"><span><img id="upwardarrow" src="/img/upwardarrow.png"></span></a>
將id="backtotop"
移動到<a>
標簽,不需要更改js。
請嘗試以下代碼:
$( "#target" ).click(function() {
$(document).scrollTop(0);
});
你忘了關閉線路;
另外,我改變了目標定義。
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = $(this).parents().attr("href");
alert(target);
$('html, body').animate({
scrollTop: $(target).offset().top;
}, 1000);
});
經過測試和工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.