簡體   English   中英

Jquery平滑滾動:無法讀取未定義的屬性“top”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM