亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在單擊事件期間,JQuery scrollTo 函數錯誤找不到滾動到某個 div ID 的方法

在單擊事件期間,JQuery scrollTo 函數錯誤找不到滾動到某個 div ID 的方法

Helenr 2021-06-10 18:41:27
我正在嘗試滾動到我網站上的某個部分,該部分標有 ID,我想在單擊事件上使用動畫 jquery 滾動來這樣做。這是我當前的代碼:js標題部分<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script><script src="index.js"></script>菜單區<li><a onclick="scrollTo()" href="#testimonials">Testimonials</a></li><li><a onclick="scrollTo()" href="#portfolio">Portfolio</a></li><li><a onclick="scrollTo()" href="#contact">Contact</a></li><li><a onclick="scrollTo()" href="#faq">FAQ</a></li>Javascript文件$(document).ready(function() {    console.log("Test")    function scrollTo() {        console.log("Clicked!")        var elem = document.getElementById('testimonials');        console.log(elem)        elem.scrollTop = elem.scrollHeight;        window.scrollTo    }})
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

在這里看到它:codepen

首先:不要scrollTo用于您的處理程序名稱。因為scrollTo是js中的一個函數。


附加步驟:

  1. 將內聯事件添加到您的導航元素中,如下所示:

<a onclick="scrollTo_(event,'testimonials')" href="#testimonials">Testimonials</a>

它將通過,click event并且還id讓處理程序知道目標元素的 id 是什么。

  1. 處理函數應該是這樣的:

function scrollTo_(ev,id) {
  ev.preventDefault();
  $([document.documentElement, document.body]).animate({
      scrollTop: $("#"+id).offset().top
  }, 2000);}

它使用 preventDefault 來防止正常的<a>點擊行為。它使用這個答案(如何使用 jquery 動畫滾動)使用 jquery動畫滾動到元素。

補充筆記:

  • 不要將您的函數聲明放在$(document).ready.


查看完整回答
反對 回復 2021-06-24
  • 1 回答
  • 0 關注
  • 205 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號