超链接跳转页面如何添加加载动画

当超链接跳转导致长时间加载时,可通过设置中间加载页面显示动画。在目标页面加载完毕后,再从加载页跳转,实现加载动画效果。文章介绍了这种方法的原理和代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首先,我们来了解一下超链接跳转页面的特性。

超链接实现两个页面间的跳转,例如我现在想从begin.html跳转到end.html页面,在begin里面点击了到end的链接,页面会在begin页面进行加载,等end全部加载完成后才会跳转到end页面,这个跳转是很快的事,但是加载却需要很长时间,如果end页面的内容很多或者后端算法需要很长时间,那么页面就会一直停留在begin页面,用户会好奇为什么没有过去,如果一直按刷新,就一直过不去。如果是ajax加载的数据的话,可以配合js监听加载事件,先显示容易加载的加载动画,等完全加载后再显示想要显示的东西。但是超链接是直接跳转过去的,这期间是没法加载加载动画的。

二、解决方法

在这里插入图片描述

刚刚说的如果没加载完成,超链接跳转是不会跳过去的,会停留在原本的页面,那么我们可以利用这个特性来设置个中间页面loading,这个页面内容非常简洁,只有加载动画而已,所以加载起来会很快,然后我们在loading里面加载需要去的页面end,因为end东西会很多,所以会停留在loading页面,让用户一直看加载动画,end加载完成后再跳转过去,就实现了超链接跳转页面添加加载动画的目的。

三、代码实现

1,begin里面的链接写法
<a href="/loading?url=end">跳转到end页面</a>

/loading是指加载页面,end是指要去的页面,把要去的页面路径当成一个参数传进来

2,loading里面的相关代码

html代码

<html xmlns="http://www.w3.org/1999/xhtml">
        <meta charset="UTF-8">
        <meta name="renderer" content="webkit">
        <style type="text/css">
            /*写你的加载动画的css代码*/
        </style>
    </head>
    <body>
       /*写你的加载动画的html代码*/
    </body>
    <script type="text/javascript">
      window.location.href = '<%= Url %>'
    </script>
</html>

我这里是用node来演示的,并用到了ejs模板。下面的代码就是获取到被当成参数传过来的要去页面的路径,如果你有其他方法获取,当然也可以。

router.get("/", (req, res) => {
  var arg = url.parse(req.url).query;
  var params = querystring.parse(arg);
  var Url = params.url;
  res.render('app/loading.ejs', {Url: Url})
})

用某种方法拿到传的参数,然后在loading里面直接跳转过去,但是由于加载时间的问题,会停留在加载页面显示你的加载动画,end数据加载完成后就会直接跳转过去了。

核心内容就是利用中间页面加载要去的页面,具体怎么拿到要跳转的路径,这个问题可以自由发挥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值