看板 Web_Design 關於我們 聯絡資訊
概述一下目前遇到的問題 導覽列現在有四個連結,點選任一個連結後,用js+jquery抓出目前網址比對導覽列的連結 網址,相符則在該連結上追加 class="nowPage",連結文字下方會出現藍色底線表示 正在瀏覽該頁面。 程式碼如下: $(document).ready(function () { $(".navBar").load("./navBar.html"); setTimeout(function () { $('nav ul li a').each(function (index) { $(this).on('click', addClassNowPage(this)); }); }, 2); }); 因為用debugger去跑功能都正常,猜是因為網頁讀取速度差異造成現在的問題 才嘗試用setTimeout,想不到還真的可以,但Delay時間一定要設2毫秒以上XD 想請教有人了解這是什麼原因嗎?? 順便請教不使用前端框架React/Angular/Vue的情況下,有更好的方法去達到小弟要的 當前頁面畫底線功能嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.241.251 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1542711812.A.C1F.html
pkro12345: load可以塞callback function 這樣會等你load好才執行 11/20 19:19
pkro12345: 另外不太清楚比對的意義 可以點選一個連結 把全部連結 11/20 19:26
pkro12345: 的nowpage class清除 再將點選的添加class就好 11/20 19:26
moodoa3583: 同上,這應該不用比對網址 11/20 23:44
moodoa3583: $(“.nav").click( 11/20 23:44
moodoa3583: function(){ 11/20 23:44
moodoa3583: $(".nav").removeClass("thispage"); 11/20 23:44
moodoa3583: $(this).addClass("thispage"); 11/20 23:44
moodoa3583: } 11/20 23:44
moodoa3583: 概念應該是這樣就好 11/20 23:44
moodoa3583: 更正:thispage—>nowpage 11/20 23:44
windmax1: 了解!!感謝樓上兩位大大的意見 11/21 12:02
a700evolve: load檔案是需要下載時間的,馬上綁click事件自然會找 11/23 22:17
a700evolve: 不到對象。 11/23 22:17
a700evolve: load方法只適合在local測試時偷懶用 11/23 22:18
a700evolve: 正式環境請用pug編譯或套框架 11/23 22:18
windmax1: 原來如此 感謝提供知識 11/25 13:18