作者windmax1 (I do my best)
看板Web_Design
标题[问题] document.ready不设置setTimeout跑不出来
时间Tue Nov 20 19:03:28 2018
概述一下目前遇到的问题
导览列现在有四个连结,点选任一个连结後,用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://webptt.com/cn.aspx?n=bbs/Web_Design/M.1542711812.A.C1F.html
1F:推 pkro12345: load可以塞callback function 这样会等你load好才执行 11/20 19:19
2F:→ pkro12345: 另外不太清楚比对的意义 可以点选一个连结 把全部连结 11/20 19:26
3F:→ pkro12345: 的nowpage class清除 再将点选的添加class就好 11/20 19:26
4F:推 moodoa3583: 同上,这应该不用比对网址 11/20 23:44
5F:→ moodoa3583: $(“.nav").click( 11/20 23:44
6F:→ moodoa3583: function(){ 11/20 23:44
7F:→ moodoa3583: $(".nav").removeClass("thispage"); 11/20 23:44
8F:→ moodoa3583: $(this).addClass("thispage"); 11/20 23:44
9F:→ moodoa3583: } 11/20 23:44
10F:→ moodoa3583: 概念应该是这样就好 11/20 23:44
11F:→ moodoa3583: 更正:thispage—>nowpage 11/20 23:44
12F:→ windmax1: 了解!!感谢楼上两位大大的意见 11/21 12:02
13F:推 a700evolve: load档案是需要下载时间的,马上绑click事件自然会找 11/23 22:17
14F:→ a700evolve: 不到对象。 11/23 22:17
15F:→ a700evolve: load方法只适合在local测试时偷懒用 11/23 22:18
16F:→ a700evolve: 正式环境请用pug编译或套框架 11/23 22:18
17F:→ windmax1: 原来如此 感谢提供知识 11/25 13:18