【转载】关于网页载入,页面顶部显示页面加载线性进度条效果实现。

今早早逛淘宝的时候突然发现淘宝每次在点击进入下页的时候的页面顶部就会出现页面载入进度效果,其实之前在访问好多国外的网站的时候也见过这样的效果,突然一时兴起想要知道如何实现。

如图所示:
在这里插入图片描述
然后就百度一下,竟然找到了两款插件,。

插件一:LoadingBar

LoadingBar.js的地址是:http://www.onextrapixel.com/2013/09/02/loadingbar-js-adding-a-youtube-like-loading-bar-to-your-website/

插件二:NProgress.js
NProgress.js的地址是:http://ricostacruz.com/nprogress/

这里只介绍NProgress.js调用方法,第一个自己去琢磨吧。

在这里插入图片描述
根据英文翻译(英语水平太渣翻译不对见谅):

第一个方法是开始进度
第二个方法是设置百分比
第三个方法是设置增量
第四个方法是结束进度

具体调用demo:

<!DOCTYPE html>
<html lang='en'>
<head>
  <meta charset='utf-8'>
  <title>NProgress: slim progress bars in JavaScript</title>
  <link href='support/style.css' rel='stylesheet' />
  <link href='nprogress.css' rel='stylesheet' />
  <meta name="viewport" content="width=device-width">  
  <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
</head>

<body>

</body>
</html>
<script src='nprogress.js'></script>
<script>
    NProgress.start();
    setTimeout(function() { NProgress.done(); $('.fade').removeClass('out'); }, 1000);
 </script>

这里要注意的时候

<script>
    NProgress.start();
    setTimeout(function() { NProgress.done(); $('.fade').removeClass('out'); }, 1000);
 </script>

这里代码一定要放到底部执行,切在引入NProgress脚本后,如果放到header里面则不会得到想要的效果。一开始我也陷入坑里面了。

运行效果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用JavaFX提供的ProgressBar控件来实现进度条显示。具体实现步骤如下: 1. 在你的载入页面中,创建一个ProgressBar控件,并将其添加到场景图中。 2. 在程序中,将需要加载的资源按照一定的顺序分别加载,并在加载每个资源时更新ProgressBar的进度。 3. 计算进度的方法为:将已加载资源的大小之和除以总资源大小。可以通过获取资源文件的大小来计算总资源大小。 4. 在加载完所有资源后,将ProgressBar的进度设为1(即100%),表示资源已全部加载完毕。 以下是一个简单的代码示例,用于演示如何在JavaFX中实现资源加载进度的计算和显示: ``` import javafx.application.Application; import javafx.concurrent.Task; import javafx.scene.Scene; import javafx.scene.control.ProgressBar; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class ResourceLoadingProgressBar extends Application { private static final int TOTAL_RESOURCES = 100; // 假设需要加载的总资源数为100 @Override public void start(Stage primaryStage) throws Exception { // 创建一个ProgressBar控件 ProgressBar progressBar = new ProgressBar(); progressBar.setPrefWidth(300); // 创建一个加载资源的任务,并在任务执行过程中更新ProgressBar的进度 Task<Void> loadingTask = new Task<Void>() { @Override protected Void call() throws Exception { int loadedResources = 0; for (int i = 0; i < TOTAL_RESOURCES; i++) { // 模拟加载每个资源需要的时间 Thread.sleep(50); // 更新ProgressBar的进度 updateProgress(++loadedResources, TOTAL_RESOURCES); } return null; } }; // 将ProgressBar的进度和任务的进度绑定在一起 progressBar.progressProperty().bind(loadingTask.progressProperty()); // 创建一个场景,将ProgressBar添加到场景中 StackPane root = new StackPane(progressBar); Scene scene = new Scene(root, 400, 300); // 将场景显示在舞台上 primaryStage.setScene(scene); primaryStage.show(); // 启动任务 new Thread(loadingTask).start(); } public static void main(String[] args) { launch(args); } } ``` 在这个示例中,我们创建了一个ProgressBar控件,并将其添加到了场景中。然后,我们创建了一个加载资源的任务,这个任务模拟了加载每个资源需要的时间。在任务执行过程中,我们通过updateProgress方法更新了ProgressBar的进度。最后,我们将ProgressBar的进度和任务的进度绑定在一起,从而实现进度条的实时显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值