- 浏览: 150705 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
shlice:
你好,我在osx上测试,输入法没有成功切换到英文。你的&quo ...
让Mac版Sublime text3的Vintage插件切换命令模式时自动切换到英文输入法 -
q471989525:
很不错~ 多谢分享
仿Gmail中输入多个收件人的Autocomplete组件 -
leon.s.kennedy:
[flash=200,200][url][img][list] ...
javascript总结(三)js与FLASH的交互 -
hahaha168:
请问如果我没有使用数据库的话,可以使用这种关联关系吗?
rails关联学习笔记 -
j67065:
不好意思,这个确实挺有用的,后来发现,路径就在存放数据库文件下 ...
使用sqlite的文件导入导出功能
这是一个非常易用的widget,参数都有默认值,默认值参见注释
使用示例
运行效果
源码如下:
wait = new WaitingTip(); wait.show(document.getElementById('id')); //显示,参数1是参照对象 ... wait.hide(); //隐藏
使用示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>waiting tip</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="waitingTip.js"></script> <script> function bodyload(){ var w1 = new WaitingTip({innerHTML:"<img src='images/w2.gif' />正在搜索..."}); var txt1El = document.getElementById("txt1"); w1.show(txt1El); var w2 = new WaitingTip({innerHTML:"<img src='images/waiting.gif' />正在载入..."}); var div1El = document.getElementById("div1"); w2.show(div1El,"center"); var w3 = new WaitingTip({gap:10,innerHTML:"<img src='images/w2.gif' />正在搜索..."}); var txt2El = document.getElementById("txt2"); w3.show(txt2El,"right"); } window.onload = bodyload; </script> <body> <ul> <li> 等待动画默认在相对HTML元素的下方<br/> <input id="txt1" type="text" value="北京" /> </li> <li> <div id="div1" style="margin:50px;width:200px;height:100px;border:1px solid black"> 等待动画在中间<br/> </div> </li> <li> 等待动画在右边,且和相对HTML元素的距离为10px<br/> <input id="txt2" type="text" value="北京" /> </li> </ul> </body> </html>
运行效果
源码如下:
/** * @praam <String>containerElId=" ____waiting____随机数" 指定一个容器的id * @param <String>styleClassName 容器的css样式类 * @param <String>innerHTML ="<img alt='running...' src='/images/waiting.gif' /> " 内容 * @param <String>anchor ="down" 停放位置 ["down","up","left","right","center"]; * @param <Number>gap =2与参照节点位置的间距 */ function WaitingTip (options){ if(!options){ options = { containerElId: null, styleClassName: null, innerHTML:null, anchor:null, gap:null } } var id = options.containerElid ||" ____waiting" + Math.floor(Math.random() * 1000000); this.getWaitEl = function(){ return document.getElementById(id); } var anchor = options.anchor ? options.anchor.toLowerCase() : "down" ; this.getAnchor = function(){ return anchor; } var gap = options.gap || 2; this.getGap = function(){ return gap; } var init = function(){ var div = document.createElement("div") div.id = id; div.style.position = "absolute"; div.style.display = "none"; if(options.styleClassName)div.className = styleClassName; document.body.appendChild(div); if(options.innerHTML){ div.innerHTML = options.innerHTML; } else{ var waitingImg = document.createElement("img"); waitingImg.src = "/images/waiting.gif"; waitingImg.alt = "running..."; div.appendChild(waitingImg); } searchingEl = div; } init(); } /** *获取某个HTML Element绝对位置 *@private */ WaitingTip.prototype.GetAbsoluteLocation = function (element) { if ( arguments.length != 1 || element == null ) { return null; } var offsetTop = element.offsetTop; var offsetLeft = element.offsetLeft; var offsetWidth = element.offsetWidth; var offsetHeight = element.offsetHeight; while( element = element.offsetParent ) { offsetTop += element.offsetTop; offsetLeft += element.offsetLeft; } return { absoluteTop: offsetTop, absoluteLeft: offsetLeft, offsetWidth: offsetWidth, offsetHeight: offsetHeight }; } /** *隐藏 *@public */ WaitingTip.prototype.hide = function(){ this.getWaitEl().style.display = "none"; } /** *显示 *@public *@param <String> relativelyElId 参照节点的id *@param <String>anchor 默认为初始化设置时值 */ WaitingTip.prototype.show = function(relativelyEl,anchor){ var p = this.GetAbsoluteLocation(relativelyEl); var waitEl = this.getWaitEl(); var gap = this.getGap(); var _anchor = anchor || this.getAnchor(); waitEl.style.display = "block"; switch(_anchor){ case "down": waitEl.style.top = p.absoluteTop + p.offsetHeight + gap + "px"; waitEl.style.left = p.absoluteLeft + "px"; break; case "right": waitEl.style.top = p.absoluteTop + "px"; waitEl.style.left = p.absoluteLeft + p.offsetWidth + gap + "px"; break; case "left": waitElpos = this.GetAbsoluteLocation(waitEl); waitEl.style.top = p.absoluteTop + "px"; waitEl.style.left = p.absoluteLeft - gap - waitElpos.offsetWidth + "px"; break; case "up": waitElpos = this.GetAbsoluteLocation(waitEl); waitEl.style.top = p.absoluteTop - gap - waitElpos.offsetHeight + "px"; waitEl.style.left = p.absoluteLeft + "px"; break; case "center": try{ waitElpos = this.GetAbsoluteLocation(waitEl); waitEl.style.top = p.absoluteTop + Math.floor((p.offsetHeight - waitElpos.offsetHeight) / 2) + "px"; waitEl.style.left = p.absoluteLeft + Math.floor((p.offsetWidth - waitElpos.offsetWidth) / 2) + "px"; } catch(error){ waitEl.style.top = p.absoluteTop + Math.floor(p.offsetHeight / 2) + "px"; waitEl.style.left = p.absoluteLeft + Math.floor(p.offsetWidth / 2) + "px"; } break; } }
评论
2 楼
playfish
2009-09-13
呵呵,楼主这个功能整理得还可以。就是代码感觉不够漂亮。:)
楼上说的不知道是不是处理这个loading响应的过程。。?过程,就是发起ajax请求的时候调用loading的启动,ajax请求成功的时候在回调函数里面调用loading的关闭
楼上说的不知道是不是处理这个loading响应的过程。。?过程,就是发起ajax请求的时候调用loading的启动,ajax请求成功的时候在回调函数里面调用loading的关闭
1 楼
641216927
2009-09-13
谢谢!这是一个友好提示功能,但是有什么好解决方案获得服务端响应客户端,并完成响应处理数据?
发表评论
-
amplifyjs--有关组件通讯与请求管理与本地存储的js库
2014-09-18 22:27 998简介: 本介绍只是方便英文不好的人快速对这个框架有个了解,当然 ... -
一个JavaScript的oo库
2012-07-20 16:49 1073此项目已更名为May.js,内容已过期,请参见http:/ ... -
KISSY之KISSY.JS速记
2010-12-15 14:11 2764https://github.com/kissyteam/ki ... -
面试题-做一个聊天原型
2010-05-17 16:27 1340解压,无须WEB服务器,直接运行chat.html即可. 含 ... -
javascript总结(七)浏览器兼容性
2010-04-01 14:30 0javascript语言本身的兼容性 IE不支持Array#i ... -
javascript总结(六)页面元素的创建调整与关联
2010-03-31 14:24 1398目录 (一)有关框架 ... -
javascript总结(五)获取设置元素样式与监听元素事件
2010-03-30 15:11 4446目录 (一)有关框架 ... -
javascript总结(四)ajax局部刷新与RPC
2010-03-29 19:16 2222目录 (一)有关框架 (二)文件组织与代码组织 (三)JS与 ... -
javascript总结(三)js与FLASH的交互
2010-03-29 16:51 5874目录 (一)有关框架 (二)文件组织与代码组织 (三)JS与 ... -
javascript总结(二)文件组织与代码组织
2010-03-29 15:13 2431目录 (一)有关框架 (二)文件组织与代码组织 (三)JS与 ... -
javascript总结(一)有关框架
2010-03-26 18:38 1800做过.NET,ROR,现专职JS满两年了.就开发过程中遇到的问 ... -
HTML标记不匹配引起的问题
2010-01-25 10:48 808场景: ajax载入一个html片段,firefox下正常,i ... -
结合使用setTimeout和setInterval模拟QQ头像闪动
2010-01-19 18:07 1679注: $为jQuery方法,$(el).attr(name, ... -
使用 window.name 解决跨域问题
2010-01-06 17:59 1819内容来源怿飞的BLOG 比较适合获取跨域的HTML片段,获取J ... -
用EXT的CHECKBOX表示BOOL型字段
2010-01-05 16:46 1307在SUI模板中添加VALUE="1" ... -
javascript的namespace声明
2009-12-09 17:37 1320function namespace(ns){ ... -
分享一个VIM的JS代码格式化插件
2009-12-09 17:30 7136VIM是我最爱的编辑器,我是JS程序员,程序长了格式化就麻烦, ... -
Ext组件继承层次图
2009-10-14 16:20 1125... -
重构增强版通用滚动widget,鼠标移入可暂停滚动
2009-07-29 15:30 1216/** * 滚动HTML集合对象 * @param ... -
通用滚动widget
2009-07-28 17:49 1038/** * 滚动HTML集合对象 * @param ...
相关推荐
本篇文章将详细介绍如何利用Vue3的特性来封装一个类似于Element UI的全局通用弹窗提示组件,并通过JavaScript进行调用。 首先,我们需要了解Vue3中的Composition API。Vue3引入了Composition API,它允许我们在组件...
JavaScript加载等待效果是一种常见的用户体验优化技术,特别是在网页内容动态加载或者需要进行大量计算时。它通过展示一个加载动画或进度条来告知用户页面正在处理数据,以减少用户的等待焦虑感,提升整体的交互体验...
"通用的JS表单验证"这个主题聚焦于如何利用JavaScript来确保用户在网页表单中输入的数据符合预设的规则,从而提高数据质量和用户体验。下面我们将深入探讨这个话题。 首先,表单验证是网页开发中的关键部分,它能...
在这个例子中,`tsk-alert`是提示框的通用类,`tsk-alert-loading`是表示特定状态的类。`<span>`元素用于放置提示框的图标,而`<p>`元素则显示具体的提示信息。 接下来,CSS将用于定义提示框的外观。我们可以根据...
"validate 通用Ajax无刷新表单验证类"就是针对这一需求设计的,旨在提供一个高效、便捷的解决方案,使得在用户填写表单时能够实时进行数据验证,无需等待页面刷新,极大地提高了用户体验。 Ajax(Asynchronous ...
10. **代码复用**:创建一个通用的“等待”类或组件,可以提高代码的可重用性和维护性。 以上知识点都是在处理“等待”界面时可能涉及的技术和概念,它们可以帮助开发者构建更加健壮和用户友好的应用程序。在实际...
在实现通用进度条时,开发者通常会使用编程语言(如Java、C#、JavaScript)配合UI库或框架(如Qt、WinAPI、Android SDK、iOS SDK、React、Vue、Angular)中的相关组件。例如,对于Web应用,可以利用HTML5的`...
在描述中提到的"加载等待js"是一种常见的实践,即使用JavaScript脚本来控制页面元素的状态,特别是在内容异步加载时。当页面资源正在后台加载时,通过展示一个“加载中”提示(例如一个旋转的加载图标)来告知用户...
在JavaScript编程中,公共js判断和js控件是构建高效、用户友好的Web应用程序的关键组成部分。这些工具通常用于实现各种验证功能,确保用户输入的数据符合预期格式和规则,从而提高用户体验并减少服务器端的压力。...
此压缩包中的"021 大数据通用模版"是一个专门用于大屏幕展屏的设计,这类展屏通常用于企业监控中心、数据中心或者会议报告等场合,通过大屏幕实时展示关键业务指标和数据分析结果。模板的设计通常需要考虑到屏幕尺寸...
`public.js`可能是一个公共的JavaScript库,包含了一些通用的函数,比如DOM操作、事件处理等,这些函数会被`autosuggest_debug.js`等其他脚本引用和使用。 在`contacts.txt`中,可能存储了一组预定义的联系人信息,...
在Web开发中,JavaScript库如jQuery或Vue.js提供了丰富的动画组件;在React Native这样的跨平台框架中,也有如react-native-loading-spinner-overlay等组件可供选择。 为了实现这些效果,我们需要理解事件驱动编程...
带进度条的上传控件能够给用户带来更好的反馈体验,让用户知道文件上传的进度,而不是只能等待一个不确定的结果。这个控件可能使用了HTML5的File API,结合Ajax技术来实现异步上传,同时利用JavaScript或jQuery显示...
标题中提到的知识点是关于如何使用JavaScript实现一个通用的加载动画效果,即在Web页面中,当用户执行如Ajax提交等耗时操作时,页面会展示一个加载中的动画提示用户正在加载数据或处理请求,提升用户体验。...
5. **错误处理**:确保有适当的错误处理机制,如请求失败或服务器返回错误时,能给出用户友好的提示。 四、优化与注意事项 1. **缓存利用**:为了提高性能,可以考虑对某些查询结果进行缓存,避免重复请求。 2. *...
在这个“js实现三级联动选择大学专业”的项目中,数据来源是通过Scrapy爬虫从某高考网站获取的,这意味着我们首先需要处理这些数据。Scrapy是一个强大的Python爬虫框架,可以抓取网页内容并进行结构化处理。数据文件...
"ZeroModal"是一款基于jQuery的轻量级弹出层插件,它以扁平化设计风格为特色,能够方便地创建模态对话框、操作提示框以及等待层。这款插件兼容AMD(异步模块定义)和CMD(通用模块定义)规范,同时也支持直接引入到...
在本文中,我们将深入探讨如何实现一个仿新浪的注册表单验证功能,主要涉及JavaScript(JS)和相关验证技术。这个实例将帮助我们理解如何利用前端技术确保用户输入的数据符合预设规则,从而提高用户体验并减少服务器...
**通用AjaxPro无刷新分页技术详解** AjaxPro是一种基于.NET平台的JavaScript库,它使得在Web应用程序中实现异步无刷新更新变得简单易行。本文将深入探讨如何利用AjaxPro实现一个无刷新分页的功能,同时结合存储过程...