0 0

javascript在一个function里控制loading的显示与隐藏5

代码如下,不知为何无法执行出loading显示后又隐藏的效果。


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript在一个function里控制loading的显示与隐藏</title>

<script type="text/javascript" language="javascript">
function longtimefunction(){
	//开始显示loading
	document.getElementById('loading').style.display='block';
	var t=setTimeout("alert('这是一个长耗时的程序!');",4000);
	//长耗时程序完成后,隐藏loading
	document.getElementById('loading').style.display='none';
}
</script>
</head>

<body>
<div id="loading" style="color:red;display:none">Loading...</div>
<div id="bgDiv">
<h1>这里是网页标题</h1>
<p>这里是网页内容</p>
<p>这里是网页内容</p>
<p><a href="#" onClick="longtimefunction()">加载长耗时function</a></p>
</div>


</body>
</html>
2014年5月22日 21:28

2个答案 按时间排序 按投票排序

0 0

采纳的答案

//开始显示loading  
  1  document.getElementById('loading').style.display='block';  
  2  var t=setTimeout("alert('这是一个长耗时的程序!');",4000);  
  3  //长耗时程序完成后,隐藏loading  
    document.getElementById('loading').style.display='none';
这个是加载到1的时候 准备渲染页面的时候 但是页面还在往下走 走到2碰到定时器(4秒执行就行向下加载) 一个动作它又继续往下走 到了3 3这也是要渲染而3是要隐藏 所以在1还没有完全渲染出来就被夭折啦!
123 这代码实际就是
类似于下面的代码
document.getElementById('loading').style.display='block';
document.getElementById('loading').style.display='none';

所以解决的方法我个人有2种

   document.getElementById('loading').style.display='block';  
    var t=setTimeout("alert('这是一个长耗时的程序!');",4000); 
     alert("此处加个动作");
    //长耗时程序完成后,隐藏loading  
    document.getElementById('loading').style.display='none';

第二种就是把 隐藏放到定时器中
setTimeout(function(){  
         //长耗时程序完成后,隐藏loading  
        document.getElementById('loading').style.display='none';  
    }, 1000) 
可能说的有点逻辑乱 你试试就清楚啦

2014年5月23日 00:39
0 0

可以了, 只要点击加载长耗时function 就会显示
然后一秒隐藏


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript在一个function里控制loading的显示与隐藏</title>

<script type="text/javascript" language="javascript">
function longtimefunction(){
	//开始显示loading
	document.getElementById('loading').style.display='block';
	//var t=setTimeout("alert('这是一个长耗时的程序!');",4000);
	
	setTimeout(function(){
	     //长耗时程序完成后,隐藏loading
		document.getElementById('loading').style.display='none';
	}, 1000)
	
}
</script>
</head>

<body>
<div id="loading" style="color:red;display:none">Loading...</div>
<div id="bgDiv">
<h1>这里是网页标题</h1>
<p>这里是网页内容</p>
<p>这里是网页内容</p>
<p><a href="#" onClick="longtimefunction()">加载长耗时function</a></p>
</div>


</body>

2014年5月22日 21:38

相关推荐

    Javascript ajax加载Loading

    2. **JavaScript函数**:编写一个函数,用于发送AJAX请求,并在请求开始和结束时控制加载指示器的显示。 ```javascript function fetchData(url) { const loadingGif = document.getElementById('loading-gif');...

    全屏loading图有遮罩效果 当显示全屏loading图时无法操作页面上的按钮

    在JavaScript中,我们可以控制遮罩层的显示和隐藏。例如,当开始加载时显示遮罩,加载完成后再将其隐藏: ```javascript function showLoading() { document.getElementById('loading-mask').style.display = '...

    loading在页面应用1

    而在JavaScript中,特别是使用jQuery时,可以这样注册和控制loading的显示与隐藏: ```javascript &lt;script type="text/javascript"&gt; function loadingStart() { $("#loading").removeClass("hidden"); // alert...

    JavaScript Loading动画

    在这个例子中,我们创建了一个id为"loader"的,并设置了一些基本样式,使其占据整个屏幕,并在页面加载时显示在最上方。 接下来,我们需要在`loader.js`中编写JavaScript代码,利用TweenMax创建动画。以下是一个...

    loading特效-HTML-代码

    最后,JavaScript可以用来控制加载特效的显示和隐藏,以及与用户的交互。例如,当所有页面内容加载完成后,我们可以使用JavaScript来移除加载特效: ```javascript window.addEventListener('load', function() { ...

    JavaScript 动态的Loading文字,逐个变大.rar

    在本资源“JavaScript 动态的Loading文字,逐个变大.rar”中,我们探讨的是如何使用JavaScript来实现一个动态加载效果,即在页面加载过程中,文字“Loading”中的每个字母会逐个变大,以此提供给用户一种视觉反馈,...

    Extjs的loading效果

    加载遮罩会在指定元素上覆盖一层半透明的背景,并显示一个加载图标或文字。例如,我们可以为整个页面设置加载遮罩: ```javascript var mask = new Ext.LoadMask(Ext.getBody(), {msg:"正在加载..."}); mask....

    AjaxLoading

    这个技术的核心是利用Ajax(异步JavaScript和XML)与页面加载动画相结合,使得用户在等待数据加载时可以看到一个动态的加载指示器,即“Ajax Loading”。 **Ajax基础** Ajax是一种在不刷新整个页面的情况下与...

    js实现页面加载完毕之前loading提示效果

    通常我们会选择一个div元素,并为其添加相应的样式,使其在页面中央居中显示。样式可以自定义,但基本结构可能如下: ```html &lt;!DOCTYPE html&gt; , initial-scale=1.0"&gt; #loading { position: fixed; top: ...

    javascript自定义加载loading效果.docx

    在Web开发过程中,为了提升用户体验,在页面加载或执行耗时操作时显示一个加载提示(通常称为Loading效果)是十分必要的。本篇将深入探讨如何使用JavaScript实现自定义的加载效果,并提供具体的代码示例与实现细节。...

    jquery loading 图片

    在前端页面设计与开发中,"jQuery Loading 图片"是一个重要的元素,特别是在用户交互和数据加载过程中,它能提供良好的用户体验,告知用户系统正在进行后台处理。这篇文章将深入探讨jQuery加载图片的实现方式、应用...

    loading页面加载过程

    在网页设计中,"loading"页面,也称为加载页面或进度指示器,是用户在等待网页完全加载时看到的一种交互式界面。它提供了一个视觉反馈,让用户知道网站正在努力加载内容,而不是卡住或者无响应。这个加载过程涉及到...

    jQuery按钮点击loading加载.zip

    在页面中,你需要有一个按钮元素和一个用于显示loading动画的元素。例如: ```html 点击我 &lt;div id="loading" class="hidden"&gt;加载中... ``` 这里,`id`属性用于jQuery选择器,`class="hidden"`是初始状态,表示...

    页面加载中loading(js、asp.net)

    例如,可以定义一个CSS类`loading`,用于控制loading图标的显示和隐藏。 ```html &lt;div id="loader" class="loading"&gt;加载中... ``` 2. **事件监听**:JavaScript可以通过监听`window.onload`或`document....

    loading使用Demo

    "loading使用Demo"是一个集合,包含了三个小的示例,旨在帮助开发者理解如何在各种元素中创建加载指示器。我们将主要关注HTML、CSS和JavaScript这三个关键领域,这些都是实现此类效果的基础技术。 首先,让我们从...

    js实现页面loading加载效果1.rar

    3. JavaScript控制:接下来,我们需要使用JavaScript来控制loading的显示和隐藏。这通常涉及到页面的生命周期事件,比如`window.onload`或`document.onreadystatechange`。 ```javascript // 显示loading function ...

    实用的loading数据加载 js+css

    在网页设计和开发中,"loading"(加载)效果是一个重要的组成部分,特别是在处理大量数据或者需要时间来渲染的内容时。本资源提供了一种实用的js(JavaScript)与css(Cascading Style Sheets)结合实现的加载动画,...

    angularjs loading遮罩层

    可以创建一个名为`loadingService`的服务,它有一个`show`和`hide`方法来控制遮罩层的显示与隐藏。 ```javascript myApp.factory('loadingService', function() { var isLoading = false; return { show: ...

    javascript制作loading动画效果 loading效果

    在上述提供的代码中,作者创建了一个名为AjaxLoding的对象,该对象包含了两个主要方法:load和stop,用于实现loading动画的显示和隐藏。这个对象设计得非常灵活,可以根据不同场景进行定制。 `AjaxLoding.load`方法...

Global site tag (gtag.js) - Google Analytics