网页中常用加载页面的实现原理

本文主要是来分析加载页面的实现原理,因为好的加载页面可以提高用户访问的兴趣度,也能让用户远离枯燥的等待;根据网页上各种加载页面,大概总结了下面几种比较常用的实现方法:

1.利用定时器实现加载页面;

2.利用readyState判断实现加载页面;

3.利用滚动条+readyState判断实现加载页面;

4.利用滚动条+onload实现加载页面;

5.利用百分比增加+onload实现加载页面。

利用定时器实现加载页面

html代码和css样式如下图,这一块比较简单,也不是本文重点,代码可自行查看下图。

Tips:加载页面的动画效果是图标进行旋转,可根据实际情况修改成属于自己的动画效果(现在很多网页的动画效果都不错,可进行参考)。

实现原理是利用了定时器(setTimeout)功能,对加载页面显示3s(3000),然后消失隐藏。

Tips:缺点就是由于写死了显示时间,所以图片太大加载比较慢,会导致加载页面隐藏了,但是图片还未全部加载完;或者图片太小加载比较快,又会导致多等待时间。

利用readyState判断实现加载页面

html和css跟第一种方法共用,可自行查看上面的代码。

实现原理是利用了页面加载状态改变时的事件(onreadystatechange),判断readyState的状态如果是载入完成(complete),则隐藏加载页面。

利用滚动条+readyState判断实现加载页面

html代码和css样式如下图,这一块比较简单,也不是本文重点,代码可自行查看下图。

Tips:只贴出不同于第一种方法的css样式。

实现原理是利用animate让滚动条先显示到90%(运行时间1s),然后判断readyState的状态如果是载入完成(complete),则让滚动条显示到100%并隐藏加载页面。

Tips:适合于打开就想要一个交互体验的用户。

利用滚动条+onload实现加载页面

html和css跟第三种方法共用,可自行查看上面的代码。

实现原理详细步骤如下:

1.首先使用$.each方法遍历图片数组(imgArray)来获取图片的地址(val);

2.然后使用Image的onload方法,每加载完一张图片数量就加1(count++);

3.最后使用animate显示滚动条的宽度(Math.round(count / len * 100) + '%'),实现滚动条一个动态加载的过程;当全部图片加载完毕后(count >= len),隐藏加载页面。

利用百分比增加+onload实现加载页面

html代码和css样式如下图,这一块比较简单,也不是本文重点,代码可自行查看下图。

Tips:百分比的外框利用round进行旋转。

实现原理详细步骤如下:

1.首先使用$.each方法遍历图片数组(imgArray)来获取图片的地址(val);

2.然后使用Image的onload方法,每加载完一张图片数量就加1(count++);

3.最后把计算出的百分比(Math.round(count / len * 100) + '%')替换span的html内容,实现百分比动态变化过程;当全部图片加载完毕后(count >= len),隐藏加载页面。

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PC端上拉加载常用实现原理是通过监听滚动事件来判断用户是否滚动到页面底部,从而触发加载更多数据的操作。这里可以使用JavaScript编写相关的代码来实现。 首先,需要获取到页面的滚动条位置,可以利用`window`对象的`scrollY`属性来实现。当滚动条的位置接近了页面底部时,就可以加载更多的数据。 其次,需要监听页面的滚动事件,可以使用`window`对象的`onscroll`事件来实现。当滚动事件触发时,可以执行相关的逻辑判断。 在滚动事件的处理函数,首先需要获取页面的高度以及滚动条的位置,可以分别使用`document`对象的`body`属性的`scrollHeight`属性和`scrollTop`属性来实现。然后,可以判断滚动条的位置是否接近了页面底部,可以通过以下的逻辑来实现: ```javascript if ((window.innerHeight + window.scrollY) >= document.body.scrollHeight) { // 加载更多数据的操作 } ``` 当滚动条的位置接近了页面底部时,就可以触发加载更多数据的操作,可以在这里编写相应的加载逻辑,例如向后台发送请求获取数据。一般来说,可以使用Ajax来实现异步请求数据,然后将获取到的数据插入到页面的相应位置上。 最后,需要注意在加载数据的过程需要进行相应的处理,例如显示加载动画、禁止用户重复触发加载等,以提升用户体验。 综上,PC端上拉加载通过监听滚动事件来判断滚动条是否接近页面底部,从而触发加载更多数据的操作。这个实现原理可以通过JavaScript来实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值