jquery - 单击 - 导航前延迟

标签 jquery

有没有简单的方法来创建代码:如果 URL 更改或单击链接显示 div(例如加载 gif 3 秒),则显示页面?有点像空白的白色页面,加载 gif 旋转 3 秒然后显示页面?

谢谢!

最佳答案

给定 <a class="waitBeforeNavigate" href="somewhere.html">Go somewhere</a>

function waitBeforeNavigate(ev) {
  ev.preventDefault();                    // prevent default anchor behavior
  const goTo = this.getAttribute("href"); // store anchor href

  // do something while timeOut ticks ... 

  setTimeout(function(){
    window.location = goTo;
  }, 3000);                               // time in ms
}); 

document.querySelectorAll(".waitBeforeNavigate")
  .forEach(EL => EL.addEventListener("click", waitBeforeNavigate));

使用 jQuery:

$('.waitBeforeNavigate').on("click", function (ev) {
  ev.preventDefault();                // prevent default anchor behavior
  const goTo = $(this).attr("href");  // store anchor href
       
  // do something while timeOut ticks ... 
       
  setTimeout(function(){
    window.location = goTo;
  }, 3000);                           // time in ms
}); 

关于jquery - 单击 - 导航前延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11510478/

相关文章:

javascript - 复选框代码不起作用

jquery - 如何使用 Javascript 更改输入按钮的背景图像

jquery - 谷歌地图作为 Bootstrap 轮播中的背景不完全显示

javascript - 没有 tbody 和 th block 的 jquery tablesorter 用法

javascript - 位置 :fixed and responsive/adaptive Layout 的问题

javascript - 使用 javascript/jquery 在标题属性中插入换行符

jquery - 单击菜单外的 div slideup

javascript - 鼠标悬停事件处理程序不工作

javascript - 通过 javascript 更改 anchor 标记的 css 类

javascript - 将元素颜色重置为默认样式表颜色(jQuery、JavaScript)