nodejs alert.js怎么弹出类似js中alert的提示框

17:01 提问
js 判断alert 对话框是否弹出的问题
请看下面图片
这里的作用是我按一次enter键 就相当于点了一次提交按钮
现在问题来了 如果我的文本框为空 就会弹出不能为空
我连续按enter键 不能为空提示消失了 又弹出了
现在就要如果对话框是打开状态
按一下enter键 就把对话框关闭
而不是又点击提交按钮。。
按赞数排序
自己判断弹出层是否打开,打开就不trigger就行了
var dialogopen=///控制变量,如果验证不通过打开了dialog时设置dialogopen为true,关闭dialog时注意设置为false
$(document).keyup(function(event){
if(event.keyCode==13&&!dialogopen)
$('#xxxx').trigger('click')
可以改成该输入框失去焦点时判断是否为空啊
其他相关推荐JS组件Bootstrap实现弹出框和提示框效果代码
作者:懒得安分
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了JS组件Bootstrap实现弹出框和提示框效果代码,对弹出框和提示框感兴趣的小伙伴们可以参考一下
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑。在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的系统有一个友好的弹出提示框,自然能给用户很好的页面体验。前面几章介绍了bootstrap的几个常用组件,这章来看看bootstrap里面弹出框和提示框的处理。总的来说,弹出提示主要分为三种:弹出框、确定取消提示框、信息提示框。本篇就结合这三种类型分别来介绍下它们的使用。
一、Bootstrap弹出框
使用过JQuery UI应该知道,它里面有一个dialog的弹出框组件,功能也很丰富。与jQuery UI的dialog类似,Bootstrap里面也内置了弹出框组件。打开bootstrap 文档可以看到它的dialog是直接嵌入到bootstrap.js和bootstrap.css里面的,也就是说,只要我们引入了bootstrap的文件,就可以直接使用它的dialog组件,是不是很方便。本篇我们就结合新增编辑的功能来介绍下bootstrap dialog的使用。废话不多说,直接看来它如何使用吧。
1、cshtml界面代码
&div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"&
&div class="modal-dialog" role="document"&
&div class="modal-content"&
&div class="modal-header"&
&button type="button" class="close" data-dismiss="modal" aria-label="Close"&&span aria-hidden="true"&&&/span&&/button&
&h4 class="modal-title" id="myModalLabel"&新增&/h4&
&div class="modal-body"&
&div class="form-group"&
&label for="txt_departmentname"&部门名称&/label&
&input type="text" name="txt_departmentname" class="form-control" id="txt_departmentname" placeholder="部门名称"&
&div class="form-group"&
&label for="txt_parentdepartment"&上级部门&/label&
&input type="text" name="txt_parentdepartment" class="form-control" id="txt_parentdepartment" placeholder="上级部门"&
&div class="form-group"&
&label for="txt_departmentlevel"&部门级别&/label&
&input type="text" name="txt_departmentlevel" class="form-control" id="txt_departmentlevel" placeholder="部门级别"&
&div class="form-group"&
&label for="txt_statu"&描述&/label&
&input type="text" name="txt_statu" class="form-control" id="txt_statu" placeholder="状态"&
&div class="modal-footer"&
&button type="button" class="btn btn-default" data-dismiss="modal"&&span class="glyphicon glyphicon-remove" aria-hidden="true"&&/span&关闭&/button&
&button type="button" id="btn_submit" class="btn btn-primary" data-dismiss="modal"&&span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"&&/span&保存&/button&
最外面的div定义了dialog的隐藏。我们重点来看看第二层的div
&div class="modal-dialog" role="document"&
这个div定义了dialog,对应的class有三种尺寸的弹出框,如下:
&div class="modal-dialog" role="document"&
&div class="modal-dialog modal-lg" role="document"&
&div class="modal-dialog modal-full" role="document"&
第一种表示默认类型的弹出框;第二种表示增大的弹出框;第三种表示满屏的弹出框。role="document"表示弹出框的对象的当前的document。
2、js里面将dialog show出来。
默认情况下,我们的弹出框是隐藏的,只有在用户点击某个操作的时候才会show出来。来看看js里面是如何处理的吧:
//注册新增按钮的事件
$("#btn_add").click(function () {
$("#myModalLabel").text("新增");
$('#myModal').modal();
对,你没有看错,只需要这一句就能show出这个dialog.
$('#myModal').modal();
3、效果展示
弹出框显示后,点击界面上其他地方以及按Esc键都能隐藏弹出框,这样使得用户的操作更加友好。关于dialog里面关闭和保存按钮的事件的初始化在项目里面一般是封装过的,这个我们待会来看。
二、确认取消提示框
这种类型的提示框一般用于某些需要用户确定才能进行的操作,比较常见的如:删除操作、提交订单操作等。
1、使用bootstrap弹出框确认取消提示框
介绍这个组件之前,就得说说组件封装了,我们知道,像弹出框、确认取消提示框、信息提示框这些东西项目里面肯定是多处都要调用的,所以我们肯定是要封装组件的。下面就来看看我们封装的缺乏取消提示框。
(function ($) {
window.Ewin = function () {
var html = '&div id="[Id]" class="modal fade" role="dialog" aria-labelledby="modalLabel"&' +
'&div class="modal-dialog modal-sm"&' +
'&div class="modal-content"&' +
'&div class="modal-header"&' +
'&button type="button" class="close" data-dismiss="modal"&&span aria-hidden="true"&&&/span&&span class="sr-only"&Close&/span&&/button&' +
'&h4 class="modal-title" id="modalLabel"&[Title]&/h4&' +
'&/div&' +
'&div class="modal-body"&' +
'&p&[Message]&/p&' +
'&/div&' +
'&div class="modal-footer"&' +
'&button type="button" class="btn btn-default cancel" data-dismiss="modal"&[BtnCancel]&/button&' +
'&button type="button" class="btn btn-primary ok" data-dismiss="modal"&[BtnOk]&/button&' +
'&/div&' +
'&/div&' +
'&/div&' +
var dialogdHtml = '&div id="[Id]" class="modal fade" role="dialog" aria-labelledby="modalLabel"&' +
'&div class="modal-dialog"&' +
'&div class="modal-content"&' +
'&div class="modal-header"&' +
'&button type="button" class="close" data-dismiss="modal"&&span aria-hidden="true"&&&/span&&span class="sr-only"&Close&/span&&/button&' +
'&h4 class="modal-title" id="modalLabel"&[Title]&/h4&' +
'&/div&' +
'&div class="modal-body"&' +
'&/div&' +
'&/div&' +
'&/div&' +
var reg = new RegExp("\\[([^\\[\\]]*?)\\]", 'igm');
var generateId = function () {
var date = new Date();
return 'mdl' + date.valueOf();
var init = function (options) {
options = $.extend({}, {
title: "操作提示",
message: "提示内容",
btnok: "确定",
btncl: "取消",
width: 200,
auto: false
}, options || {});
var modalId = generateId();
var content = html.replace(reg, function (node, key) {
Id: modalId,
Title: options.title,
Message: options.message,
BtnOk: options.btnok,
BtnCancel: options.btncl
$('body').append(content);
$('#' + modalId).modal({
width: options.width,
backdrop: 'static'
$('#' + modalId).on('hide.bs.modal', function (e) {
$('body').find('#' + modalId).remove();
return modalId;
alert: function (options) {
if (typeof options == 'string') {
options = {
message: options
var id = init(options);
var modal = $('#' + id);
modal.find('.ok').removeClass('btn-success').addClass('btn-primary');
modal.find('.cancel').hide();
on: function (callback) {
if (callback && callback instanceof Function) {
modal.find('.ok').click(function () { callback(true); });
hide: function (callback) {
if (callback && callback instanceof Function) {
modal.on('hide.bs.modal', function (e) {
callback(e);
confirm: function (options) {
var id = init(options);
var modal = $('#' + id);
modal.find('.ok').removeClass('btn-primary').addClass('btn-success');
modal.find('.cancel').show();
on: function (callback) {
if (callback && callback instanceof Function) {
modal.find('.ok').click(function () { callback(true); });
modal.find('.cancel').click(function () { callback(false); });
hide: function (callback) {
if (callback && callback instanceof Function) {
modal.on('hide.bs.modal', function (e) {
callback(e);
dialog: function (options) {
options = $.extend({}, {
title: 'title',
width: 800,
height: 550,
onReady: function () { },
onShown: function (e) { }
}, options || {});
var modalId = generateId();
var content = dialogdHtml.replace(reg, function (node, key) {
Id: modalId,
Title: options.title
$('body').append(content);
var target = $('#' + modalId);
target.find('.modal-body').load(options.url);
if (options.onReady())
options.onReady.call(target);
target.modal();
target.on('shown.bs.modal', function (e) {
if (options.onReady(e))
options.onReady.call(target, e);
target.on('hide.bs.modal', function (e) {
$('body').find(target).remove();
})(jQuery);
不了解组件封装的朋友可以先看看相关文章。这里我们的确认取消提示框主要用到了confirm这个属性对应的方法。还是来看看如何调用吧:
//注册删除按钮的事件
$("#btn_delete").click(function () {
//取表格的选中行数据
var arrselections = $("#tb_departments").bootstrapTable('getSelections');
if (arrselections.length &= 0) {
toastr.warning('请选择有效数据');
Ewin.confirm({ message: "确认要删除选择的数据吗?" }).on(function (e) {
type: "post",
url: "/api/DepartmentApi/Delete",
data: { "": JSON.stringify(arrselections) },
success: function (data, status) {
if (status == "success") {
toastr.success('提交数据成功');
$("#tb_departments").bootstrapTable('refresh');
error: function () {
toastr.error('Error');
complete: function () {
message属性传入提示的信息,on里面注入点击按钮后的回调事件。
生成的效果:
2、bootbox组件的使用
在网上找bootstrap的弹出组件时总是可以看到bootbox这么一个东西,确实是一个很简单的组件,还是来看看如何使用吧。
当然要使用它必须要添加组件喽。无非也是两种方式:引入源码和Nuget。
接下来就是使用它了。首先当然是添加bootbox.js的引用了。然后就是在相应的地方调用了。
$("#btn_delete").click(function () {
var arrselections = $("#tb_departments").bootstrapTable('getSelections');
if (arrselections.length &= 0) {
toastr.warning('请选择有效数据');
bootbox.alert("确认删除", function () {
var strResult = "";
bootbox.prompt("确认删除", function (result) {
var strResult =
bootbox.confirm("确认删除", function (result) {
var strResult =
效果展示:
更多用法可以参见api。使用起来基本很简单。这个组件最大的特点就是和bootstrap的风格能够很好的保持一致。
3、在网上还找到一个效果比较炫一点的提示框:sweetalert
要使用它,还是老规矩:Nuget。
(2)在cshtml页面引入js和css
&&& &link href="~/Styles/sweetalert.css" rel="stylesheet" /&
&&& &script src="~/Scripts/sweetalert.min.js"&&/script&
(3)js使用 
title: "操作提示", //弹出框的title
text: "确定删除吗?", //弹出框里面的提示文本
type: "warning", //弹出框类型
showCancelButton: true, //是否显示取消按钮
confirmButtonColor: "#DD6B55",//确定按钮颜色
cancelButtonText: "取消",//取消按钮文本
confirmButtonText: "是的,确定删除!",//确定按钮上面的文档
closeOnConfirm: true
}, function () {
type: "post",
url: "/Home/Delete",
data: { "": JSON.stringify(arrselections) },
success: function (data, status) {
if (status == "success") {
toastr.success('提交数据成功');
$("#tb_departments").bootstrapTable('refresh');
error: function () {
toastr.error('Error');
complete: function () {
(4)效果展示:
点击确定后进入回调函数:
组件很多,用哪种园友没可以自行决定,不过博主觉得像一些互联网、电子商务类型的网站用sweetalert效果比较合适,一般的内部系统可能也用不上。
三、操作完成提示框
<span style="color: #、toastr.js组件
关于信息提示框,博主项目中使用的是toastr.js这么一个组件,这个组件最大的好处就是异步、无阻塞,提示后可设置消失时间,并且可以将消息提示放到界面的各个地方。先来看看效果。
显示在不同位置:
top-center位置
bottom-left位置
关于它的使用。
(1)、引入js和css&
&link href="~/Content/toastr/toastr.css" rel="stylesheet" /&
&script src="~/Content/toastr/toastr.min.js"&&/script&
(2)、js初始化
&script type="text/javascript"&
toastr.options.positionClass = 'toast-bottom-right';
将这个属性值设置为不同的值就能让提示信息显示在不同的位置,如toast-bottom-right表示下右、toast-bottom-center表示下中、toast-top-center表示上中等,更过位置信息请查看文档。
(3)、使用
//初始化编辑按钮
$("#btn_edit").click(function () {
var arrselections = $("#tb_departments").bootstrapTable('getSelections');
if (arrselections.length & 1) {
toastr.warning('只能选择一行进行编辑');
if (arrselections.length &= 0) {
toastr.warning('请选择有效数据');
$('#myModal').modal();
使用起来就如下一句:
toastr.warning('只能选择一行进行编辑');
是不是很简单~~这里的有四种方法分别对应四种不同颜色的提示框。
toastr.success('提交数据成功');
toastr.error('Error');
toastr.warning('只能选择一行进行编辑');
分别对应上图中的四种颜色的提示框。
2、Messenger组件
在Bootstrap中文网里面提到了一个alert组件:Messenger。
它的使用和toastr.js这个组件基本相似,只不过效果有点不太一样。我们还是来看看它是如何使用的。
(1)效果展示
可以定位到网页的不同位置,例如下图中给出的下中位置、上中位置。
提示框的样式有三种状态:Success、Error、Info
并且支持四种不同样式的提示框:Future、Block、Air、Ice
(2)组件使用以及代码示例
关于它的使用和toastr大同小异,首先引入组件:
&script src="~/Content/HubSpot-messenger-a3df9a6/build/js/messenger.js"&&/script&
&link href="~/Content/HubSpot-messenger-a3df9a6/build/css/messenger.css" rel="stylesheet" /&
&link href="~/Content/HubSpot-messenger-a3df9a6/build/css/messenger-theme-future.css" rel="stylesheet" /&
初始化它的位置
&script type="text/javascript"&
$._messengerDefaults = {
extraClasses: 'messenger-fixed messenger-theme-future messenger-on-bottom messenger-on-right'
然后js里面使用如下:
$("#btn_delete").click(function () {
$.globalMessenger().post({
message: "操作成功",//提示信息
type: 'info',//消息类型。error、info、success
hideAfter: 2,//多长时间消失
showCloseButton:true,//是否显示关闭按钮
hideOnNavigate: true //是否隐藏导航
如果提示框使用默认样式,也只有一句就能解决 
$.globalMessenger().post({
message: "操作成功",//提示信息
type: 'info',//消息类型。error、info、success
很简单很强大有木有~~
以上花了几个小时时间整理出来的几种常用bootstrap常用弹出和提示框的效果以及使用小结,希望对大家的学习有所帮助。
如果大家还想深入学习,可以点击进行学习,再为大家附两个精彩的专题:
最近新补充的一系列,欢迎大家学习。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具怎样隐藏alert和confirm弹出框的IP?
在js的最前面加上如下代码即可:
//重写alert
window.alert = function(name){
var iframe = document.createElement(&IFRAME&);
iframe.style.display=&none&;
iframe.setAttribute(&src&, &#39;data:text/plain,&#39;);
document.documentElement.appendChild(iframe);
window.frames[0].window.alert(name);
iframe.parentNode.removeChild(iframe);
//重写confirm 不显示ip地址
var wConfirm = window.
window.confirm = function (message) {
var iframe = document.createElement(&IFRAME&);
iframe.style.display = &none&;
iframe.setAttribute(&src&, &#39;data:text/plain,&#39;);
document.documentElement.appendChild(iframe);
var alertFrame = window.frames[0];
var iwindow = alertFrame.
if (iwindow == undefined) {
iwindow = alertFrame.contentW
var result = iwindow.confirm(message);
iframe.parentNode.removeChild(iframe);
catch (exc) {
return wConfirm(message);
上面这个代码在PC端中使用的样子:
移动端使用的样子:
我的页面全部代码:
&%@ page contentType=&text/charset=UTF-8& language=&java& %&
&%@ page isELIgnored=&false& %&
&%@ page trimDirectiveWhitespaces=&true& %&
&%@ taglib prefix=&c& uri=&//jstl/core& %&
&%@ taglib prefix=&s& uri=&https://www.springframework.org/tags& %&
&!DOCTYPE HTML&
&meta charset=&UTF-8& /&
&title&Document&/title&
&link rel=&stylesheet& type=&text/css& href=&/media/collegeFront/css/re-sign.css&&
&link rel=&stylesheet& type=&text/css& href=&/media/collegeFront/css/reset.css&&
&p class=&banner&&
&img src=&/media/collegeFront/images/re-sign-bg.jpg& alt=&&&
&p class=&rule&&
&h6&签到规则&/h6&
&p&1.每人每天只能签到一次。&/p&
&p&2.签到和学习的章节没有关系。&/p&
&p&3.从报名到学习结束每人只有三次签到机会。&/p&
&p class=&rule&&
&h6&你的签到情况:&/h6&
&p id=&signDetail&&你已使用补签次数${collegeUser.isRepairSignTimes}次,你剩余补签次数为${collegeUser.repairSignTimes}次。&/p&
&p class=&btn&&
&input type=&button& value=&补签& onclick=&show_confirm();&&
&script type=&text/javascript& src=&/jquery/1.9.1/jquery.min.js&&&/script&
//重写alert
window.alert = function(name){
var iframe = document.createElement(&IFRAME&);
iframe.style.display=&none&;
iframe.setAttribute(&src&, &#39;data:text/plain,&#39;);
document.documentElement.appendChild(iframe);
window.frames[0].window.alert(name);
iframe.parentNode.removeChild(iframe);
//重写confirm 不显示ip地址
var wConfirm = window.
window.confirm = function (message) {
var iframe = document.createElement(&IFRAME&);
iframe.style.display = &none&;
iframe.setAttribute(&src&, &#39;data:text/plain,&#39;);
document.documentElement.appendChild(iframe);
var alertFrame = window.frames[0];
var iwindow = alertFrame.
if (iwindow == undefined) {
iwindow = alertFrame.contentW
var result = iwindow.confirm(message);
iframe.parentNode.removeChild(iframe);
catch (exc) {
return wConfirm(message);
function show_confirm(){
var r=confirm(&是否补签?&);
if (r==true)
type:&POST&,
url:&/beautifulreader/college/user/repairSign&,
async:false,
success:function(data){
alert(data.msg);
$(&#signDetail&).innerHTML=&你已使用补签次数&+data.collegeUser.isRepairSignTimes+&次,你剩余补签次数为&+data.collegeUser.repairSignTimes+&次。&;摘要:bootstrap-tour - 应用 Twitter Bootstrap 弹出框对产品进行快速简单的引导.tourist - 简单、灵活的应用引导介绍库.chardin.js - 简单的应...
我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-javascript 是 sorrycc 发起维护的 JS 资源列表,内容包括:包管理器、加载器、测试框架、运行器、QA、MVC框架和库、模板引擎、数据可视化、时间轴、编辑器等等
Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发者的帮助会更大。这也是我们发起这个开源项目的初衷。
我们要做什么?
基于 awesome-javascript 列表,我们将对其中的各个资源项进行编译整理。此外还将从其他来源补充好资源。
整理后的内容,将收录在伯乐在线资源频道。可参考已整理的内容:
《jQWidgets:jQuery HTML5 UI组件框架》
《Bootstrap:Web前端开发框架》
《YUI Compressor:JS/CSS压缩工具》
如何参与本项目?
从下面的目录来看,本项目的工作量小不了,所以非常期待能有更多程序员一起来参与。
不过加入前,有几个小要求:
英文还不错,能读懂英文并用自己的话复述;
在用 JavaScript;
如有兴趣,请加 QQ:。加 Q 时请注明「JS大全」
本项目的参与者
贡献者:刘健超、MissNull、一兮、Mr. Somebody、Jason Lee
注:名单不分排名,不定期补充更新
JavaScript资源大全中文版
MVC 框架和库
基于 Node 的 CMS 框架
数据可视化
函数式编程
国际化和本地化
正则表达式
浏览器检测
键盘封装器
浏览和引导
有影响力的书
微博、微信公众号
管理着 javascript 库,并提供读取和打包它们的工具。
npm - npm 是 javascript 的包管理器。
Bower - 一个 web 应用的包管理器。
component - 能构建更好 web 应用的客户端包管理器。
spm - 全新的静态包管理器。
jam - 一个专注于浏览器端和兼容 RequireJS 的包管理器。
jspm - 流畅的浏览器包管理器。
Ender - 没有库文件的程序库。
volo - 以项目模板、添加依赖项与自动化生成的方式创建前端项目。
Duo - 一个整合 Component、Browserify 和 Go 的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。
JavaScript 的模块或加载系统。
RequireJS - JavaScript 文件和模块的加载器。
browserify - 在浏览器端以 node.js 的方式 require()。
SeaJS - 用于 Web 的模块加载器。
HeadJS - HEAD 的唯一脚本。
curl - 小巧、快速且易扩展的模块加载器,它能处理 AMD、CommonJS Modules/1.1、CSS、HTML/text 和历史脚本。
lazyload - 小巧且无依赖的异步 JavaScript 和 CSS 加载器。
script.js - 异步 JavaScript 加载器和依赖管理器。
systemjs - AMD、CJS(commonJS) 和符合 ES6 规范的模块加载器。
LodJS - 基于 AMD 的模块加载器。
ESL - 浏览器端的模块加载器,支持延迟定义和 AMD。
modulejs - 轻量的 JavaScript 模块系统。
browserify - Browserify 让你能在浏览器端使用 require(&#39;modules&#39;) ,打包所有依赖。
webpack - 为浏览器打包 CommonJs/AMD 模块。
mocha - 适用于 node.js 和浏览器、简易、灵活、有趣的 JavaScript 测试框架。
jasmine - 简单无 DOM 的 JavaScript 测试框架。
qunit - 一个易于使用的 JavaScript 单元测试框架。
jest - 简单的 JavaScript 单元测试框架。
prova - 基于 Tape 和 Browserify 的测试运行器,它适用于 Node & 浏览器。
DalekJS - 自动化且跨浏览器的 JavaScript 功能测试框架。
chai - 适用于 node.js 和浏览器的 BDD / TDD 断言框架,并能搭配其它测试框架使用。
Sinon.JS - 对 JavaScript 进行 spies、stubs 和 mock 测试。
expect.js - 简约的、适用于 Node.js 和浏览器端的 BDD 式断言工具。
istanbul - 另一个 JS 代码覆盖率检测工具。
blanket - 一个简单的代码覆盖率检测库。它的设计理念是易于安装和使用,且可用于浏览器端和 node.js。
JSCover - JSCover 是一个检测 JavaScript 程序代码覆盖率的工具。
phantomjs - 脚本化的 Headless WebKit。
slimerjs - 一个内核为 Gecko 的类似 PhantomJS 工具。
casperjs - 基于 PhantomJS 和 Slimer JS 的导航脚本和测试工具。
zombie - 基于 node.js 、快速、全栈且无图形界面的浏览器的测试工具。
totoro - 一个简单可靠且能跨浏览器运行的测试工具。
karma - 一个优秀的的 JavaScript 测试运行器。
nightwatch - 基于 node.js 和 selenium webdriver 的图形界面自动化测试框架。
intern - 下一代 JavaScript 代码测试栈。
yolpo - 在浏览器逐句执行的 JavaScript 解释器。
JSHint - JSHint 是一个有助于发现 JavaScript 代码错误和潜在问题的工具。
jscs - JavaScript 代码风格检测工具。
jsfmt - 格式化、搜索和改写 JavaScript。
jsinspect - 检测复制粘贴和结构类似的代码。
buddy.js - 发现 JavaScript 代码里的 魔术数字。
ESLint - 完全插件化的工具,能在 JavaScript 中识别和记录模式。
JSLint - 高标准、严格和固执的代码质量工具,旨在只保持语言的优良部分。
MVC 框架和库
angular.js - 为网络应用增强 HTML。
aurelia - 一个适用于移动设备、桌面电脑和 web 的客户端 JavaScript 框架。
backbone - 给你的 JS 应用加入带有 Models、Views、Collections 和 Events 的 Backbone。
batman.js - 最适合 Rails 开发者的 JavaScript 框架。
ember.js - 一个旨在创建非凡 web 应用的 JavaScript 框架。
meteor - 一个超简单的、数据库无处不在的、只传输数据的纯 JavaScript web 框架。
ractive - 新一代 DOM 操作。
vue - 一个用于构建可交互界面的、直观快速和可组合的 MVVM 框架。
knockout - Knockout 用 JavaScript 让创建响应式的富 UI 更加容易。
spine - 构建 JavaScript 应用的轻量 MVC 库。
espresso.js - 一个极小的、用于制作用户界面的 JavaScript 库。
canjs - 让 JS 更好、更快、更简单。
react - 用于建构用户界面的库。它是声明式的、高效的和极度灵活的,并使用虚拟 DOM 作为其不同的实现。
react-native - 一个用 React 构建原生应用的框架。
riot - 类 React 库,但很轻量。
thorax - 加强你的 Backbone。
chaplin - 使用 Backbone.js 库的 JavaScript 应用架构。
marionette - 一个 Backbone.js 的复合应用程序库,旨在简化大型 JavaScript 应用结构。
ripple - 一个小巧的、用于构建响应界面的基础框架。
rivets - 轻量却拥有强大的数据绑定和模板解决方案
derby - 让编写实时和协同应用更简单的 MVC 框架,能够在 Node.js 和浏览器同时运行。
derby-awesome - 很棒的 derby 组件集合。
way.js - 简单、轻量、持久化的双向数据绑定。
mithril.js - Mithril 是一个客户端 MVC 框架(轻量、强大和快速)
jsblocks - jsblocks 是一个更好的 MV-ish 框架。
LiquidLava - 易懂的、用于构建用户界面的 MVC 框架。
基于 Node 的 CMS 框架
KeystoneJS - 强大的 CMS 和 web 应用框架。
Reaction Commerce - 拥有实时的架构和设计的响应式(reactive) CMS。
Ghost - 简单、强大的发布平台。
Apostrophe - 提供内容编辑和基本服务的 CMS。
We.js - 适用于实时应用、网站或博客的框架。
Hatch.js - 拥有社交特性的 CMS 平台。
TaracotJS - 拥有快速、极简风格特点且基于Node.js 的 CMS。
Nodizecms - 为 CoffeeScript 爱好者准备的 CMS。
Cody - 拥有所见即所得的编辑器的 CMS。
PencilBlue - CMS 和博客平台。
模板引擎允许您执行字符串插值。
mustache.js - 是 JavaScript 中带有 {{mustaches}} 的最简模板。
handlebars.js - 是 Mustache 模板语言的扩展。
hogan.js - 是 Mustache 模板语言的编译器。
doT - 最快速简洁的 JavaScript 模板引擎,适用于 nodejs 和浏览器。
dustjs - 适用于浏览器和 node.js 的异步模板。
eco - 嵌入式的 CoffeeScript 模板。
JavaScript-Templates - 轻量(小于 1KB)、快速且无依赖的强大 JavaScript 模版引擎。
t.js - 小巧的 JavaScript 模板框架,压缩后约为 400 字节。
Jade - 健壮的、优雅且功能丰富的 nodejs 模板引擎。
EJS - 高效的 JavaScript 模板。
xtemplate - 可扩展的模板引擎,适用于 node 和浏览器。
marko - 快速轻量且基于 HTML 的模板引擎,支持异步、流、自定义标签和 CommonJS 模编译后输出。适用于 Node.js 和浏览器。
数据可视化
Web 数据可视化工具
d3 - 一个对 HTML 和 SVG 进行可视化的 JavaScript 库。
metrics-graphics - 更简洁和拥有更规范的数据图表布局优化算法的库。
pykcharts.js - 经过精心设计后,去除 d3.js 复杂性的 d3.js 图表库。
three.js - JavaScript 3D 库。
Chart.js - 简单的、基于 canvas 标签的 HTML5 图表库。
paper.js - 是矢量图形脚本中的瑞士军刀 && 使用 HTML5 Canvas 将 Scriptographer 移植到 JavaScript 和浏览器。
fabric.js - JavaScript Canvas 库,SVG 与 Canvas 可以相互解析。
peity - 进度条、线状和饼状图。
raphael - JavaScript 矢量库。
echarts - 商业产品图表。
vis - 动态的、基于浏览器的可视化库。
two.js - 一个渲染器无关的适用于 web 的二维绘图 api 。
g.raphael - 基于 Rapha&l 图表库。
sigma.js - 一个致力于图形绘画的 JavaScript 库。
arbor - 一个使用 s 和 jQuery 的图形可视化库。
cubism - 可视化时间序列的 D3 插件。
dc.js - 与 crossfilter 无缝合作的多维图表绘制库,使用 d3.js 渲染。
vega - 一套可视化语法。
processing.js - Processing.js 基于 Web 标准使数据可视化,而无需任何插件。
envisionjs - 动态的 HTML5 可视化。
rickshaw - 用于构建交互式实时图表的 JavaScript 工具包。
flot - 吸引人的、基于 jQuery 的 JavaScript 图表库。
morris.js - 漂亮的时间序列线框图。
nvd3 - 一个为 D3.js 构建可复用图表和图表组件的库。
svg.js - 一个轻量的、用于操作和添加 SVG 动画的库。
heatmap.js - 基于 HTML5 canvas 的热力图 JavaScript 库。
jquery.sparkline - 一个直接在浏览器端生成小型走势图的 jQuery 插件。
xCharts - 一个基于 D3、用于构建自定义图表和图形的库。
trianglify - 基于 d3.js 的低多边形(low poly)风格背景图片生成器。
d3-cloud - 创建词云(word cloud)效果的 JavaScript 库。
d4 - 一个基于 D3 、友好、可复用的 DSL 图表库 。
dimple.js - 基于 d3 的简易商业分析图表库。
chartist-js - 简单的响应式图表。
epoch - 一个通用的实时图表库。
c3 - 基于 D3 的可复用图表库。
BabylonJS - 一个运用 HTML5 和 WebGL 构建 3D 游戏的框架。
也有一些很棒的收费库,如 amchart、plotly 和 highchart。
TimelineJS - 一个用 JavaScript 编写的可叙事时间轴库。
timesheet.js - 用于构建简单的 HTML5 & CSS3 时间表的 JavaScript 库。
ace - Ace(Ajax.org Cloud9 Editor)。
CodeMirror - 浏览器端的代码编辑器。
esprima - 用于综合分析的 ECMAScript 解析器。
quill - 一个带有 API 的跨浏览器富文本编辑器。(官网)
medium-editor -
所见即所得编辑器的克隆版。
pen - 享受在线编辑(支持 markdown)。
jquery-notebook - 一个易用的、简洁优雅的文本编辑器。灵感来源于 Medium 的魅力。
bootstrap-wysiwyg - 小巧的、兼容 bootstrap 的所见即所得的富文本编辑器。
ckeditor-releases - 适用于每个人的 web 文本编辑器。
editor - 一个 markdown 编辑器,但仍在开发中。
EpicEditor - 一个可嵌入的 JavaScript Markdown 的编辑器,拥有全屏编辑、即时预览、自动保存草稿和离线支持等功能。
jsoneditor - 查看、编辑和格式化 JSON 的 web 工具。
vim.js - 拥有持久化 ~/.vimrc 的 Vim 编辑器的 JavaScript 移植版本。
Squire - HTML5 富文本编辑器。
TinyMCE - JavaScript 富文本编辑器。
trix - 由 Basecamp 制作,适用于每天写作的富文本编辑器。
处理文件的库。
Papa Parse - 一款强大的 CSV 库,支持解析 CSV 文件/字符串,也能导出 CSV。
jBinary - 对用声明式语法描述文件类型和数据结构的二进制文件,进行高级 I/O(加载、解析、操作、序列化、存储)操作。
函数式编程
函数式编程库扩展了 JavaScript 的能力。
underscore - JavaScript 的实用工具。
lodash - 提供一致性、可定制、高性能和额外功能的实用库。
Sugar - 一个扩展了原生对象功能的 JavaScript 库。
lazy.js - 类似 Underscore,但性能更优越
ramda - 一个针对 JavaScript 程序员的实用函数库。
mout - 模块化的 JavaScript 工具库。
mesh - 流数据同步工具。
响应式编程
响应式程序库扩展了 JavaScript 的能力。
RxJs - 对 JavaScript 进行响应式扩展。
Bacon - JavaScript 的 FPR(函数式响应式编程)库。
Kefir - 受 Bacon.js 和 RxJS 启发的 FRP 库,专注于高性能和低内存消耗。
Highland - 对 JavaScript 实用工具的重新思考,Highland 能轻易地管理同步和异步信息,而且仅使用标准 JavaScript 和类 Node 流。
Most.js - 高性能 FRP 库。
数据结构库用于构建一个更复杂的应用。
immutable-js - 不可变的数据集合,包括 Sequence、Range、Repeat、Map、OrderedMap、Set 和 sparse Vector。
mori - 使用 ClojureScript 持久化数据结构和支持原生 JavaScript API 的库。
buckets - 完整的、经过充分测试和记录数据结构的 JavaScript 库。
hashmap - 简单的 hashmap 实现,支持任何类型的键值。
moment - 解析、验证、操作和显示日期。
moment-timezone - 基于 moment.js 的时区库。
jquery-timeago - 一款支持自动更新模糊时间戳的 jQuery 插件(如:&4 分钟之前&)。
timezone-js - 让 JavaScript Date 对象拥有时区功能。使用 Olson zoneinfo 文件记录着时区数据。
date - 拥有人性化的 Date() 方法。
ms.js - 小巧的毫秒转换工具。
字符串库。
selecting - 一个允许你获取用户选定文本的库。
underscore.string - 扩展了 Underscore.js 的字符串操作。
string.js - 额外的 JavaScript 字符串方法。
he - 健壮的 HTML 实体编码/解码器。
multiline - 多行字符串。
query-string - 解析和字符串化 URL 查询字符串。
URI.js - URL 操作库。
jsurl - 轻量的 URL 操作库。
sprintf.js - 实现字符串格式化。
url-pattern - 让 url 和其它字符串进行比正则表达式匹配更简单。字符串和数据可相互转化。
Numeral-js - 对数字进行格式化和操作的库。
odometer - 流畅的数字过渡效果。
accounting.js - 对数字、金钱、货币进行格式化的轻量库&&完全本地化和无依赖。
money.js - 一个小巧(1kb)的货币转换库,适用于 web 和 nodeJS。
Fraction.js - 一个有理数库。
Complex.js - 一个复数库。
Polynomial.js - 一个多项式库。
store.js - 为所有浏览器封装了 LocalStorage,而没有使用 cookies 和 flash。隐秘地使用 localStorage、globalStorage 和用户数据。
localForage - 改善后的离线存储。其封装了 IndexedDB、WebSQL 和 localStorage,拥有操作简单和强大的 API。
jStorage - jStorage 是一个简单的键值对数据库,用于在浏览器端存储数据。
cross-storage - 获得权限后,能跨域名本地存储。
basket.js - 用 localStorage 加载和缓存脚本的资源加载器。
bag.js - 可以缓存脚本和加载资源,与 basket.js 相似,但增加了键值对接口和对 localStorage / websql / undexedDB 的支持。
basil.js - 智能的 JavaScript 数据持久层库。
jquery-cookie - 轻量简单的、用于读取、编辑和删除 cookie 的 jQuery 插件。
Cookies - 客户端 Cookie 操作库。
DB.js - 基于 Promise 的、封装了 IndexDB 的库。
lawnchair.js - 简单的客户端 JSON 存储。
randomColor - JavaScript 颜色生成器。
chroma.js - 拥有各种各样颜色操作的 JavaScript 库。
color - JavaScript 颜色转换和操作库。
colors - 更智能的默认 web 颜色。
PleaseJS - 随机创建出赏心悦目的颜色和配色方案。
TinyColor - 快速、轻巧的颜色操作和转换库。
Vibrant.js - 从图像提取主要颜色。
国际化和本地化(I18n And L10n)
本地化和国际化 JavaScript 库
i18next - JavaScript 最简单的国际化(i18n)方法。
polyglot - 小巧的国际化助手库。
babelfish - i18n 提供友好易懂的 API ,并且内置多种支持。
ClassManager - 世界上最快、最方便的类系统之一。
klass - 用于创建极富表现力的类工具库。
augment - 世界上最小且最快的一流 JavaScript 继承模式。
async - 适用于 node 和浏览器的异步工具库。
q - 实现异步的 promise JavaScript 库。
step - 让逻辑顺序合理化的异步控制流库。
contra - 利用函数风格实现的异步流控制。
Bluebird - 专注于革新功能和性能的,功能齐全的 promoise 库。
when - 快速可靠的、Promises/A+ 规范的 when() 实现,而且拥有异步其它的优秀特性。
ObjectEventTarget - 提供增加了事件监听的原型(与 DOMElement 的 EventTarget 在浏览器行为一致)。
director - 一个小巧的、与 URL 同构的路由器。
page.js - 受 Express router 启发的小型客户端路由器(约为1200字节)。
pathjs - 简单、轻量的 web 路由器。
crossroads - JavaScript 路由。
davis.js - 使用 pushState、RESTful 风格和可降级的 JavaScript 路由器。
DOMPurify - 针对 HTML、MathML 和 SVG 的仅支持DOM、快速、高容错的 XSS 过滤器。
js-xss - 通过白名单配置,即可过滤不信任的 HTML(防止 XSS 攻击)。
log - 带有样式的 Console.log。
Conzole - 对 JavaScript 原生 console 对象方法和功能进行封装的 debug 面板,使其显示在页面内。
console.log-wrapper - 将日志清晰地记录到 console,且兼容所有浏览器。
loglevel - 最轻量的 JavaScript 日志记录工具库,向封装后可用的 console.log 方法增加可靠的日志等级。
minilog & 轻量的、用流式 API 显示的、可用于客户端和服务器端的日志记录库。
正则表达式
RegEx101 - 在线的 JavaScript 正则表达式测试器和调试器。同时支持 Python、PHP 和 PCRE。
RegExr - 用于创建、测试和学习正则表达式的 HTML/JS 工具。
RegExpBuilder - 使用链式方法创建正则表达式。
Ion.Sound - 可用于任何网页上简单音频。
annyang - 向网站添加语音命令的语音识别库。
voix.js - 向网站、app 或游戏添加语音命令的 JavaScript 库。
bottleneck - 强大的频率限制器,使调节流量变得更容易。
oauth-signature-js - 适用于 node 和 浏览器的 OAuth 1.0a 签名生成器。
amygdala - 为 Web 应用提供 RESTful HTTP 客户端解决方案。
jquery.rest - 一个让 RESTful API 更易使用的 jQuery 插件。
tracking.js - 在 web 上实现计算视觉的一种现代方法。
ocrad.js - 通过 Emscripten 用 JavaScript 实现 OCR(光学字符识别)。
浏览器检测
bowser - 一个浏览器检测器。
Highlight.js - JavaScript 语法高亮器。
PrismJS - 轻量、健壮和优雅的语法高亮器。
指示加载状态的库。
Mprogress.js - 创建谷歌 Material 设计风格的线性进度条。
NProgress - 在 Ajax&#39;y 应用显示细长型进度条
Spin.js - 一个旋转的进度指示器。
progress.js - 为页面任何对象创建和管理进度条。
progressbar.js - 用 SVG path 动画制作的、漂亮和响应式的进度条。
pace - 自动向你的网站添加一个进度条。
topbar - 小巧漂亮的、与网站同宽的进度指示器。
nanobar - 非常轻量的进度条。不依赖 jQuery。
PageLoadingEffects - 使用 SVG 动画展现新内容的现代方式。
SpinKit - 运用 CSS 动画的加载指示器集合。
Ladda - 内置在按钮的加载指示器。
css-loaders - 运用 CSS 动画的旋转加载指示器的集合。
除了上述这些库,还有收藏在 Codepen 的,另外还有 Ajaxload,Preloaders 和 CSSLoad 这些生成器。
Parsley.js - 不用写一行 JavaScript 代码即可在前端验证表单。
jquery-validation - jQuery 验证插件。
validator.js - 字符串验证和过滤(在使用用户输入之前清理用户输入中的有害或危险字符的操作)。
validate.js - 受 CodeIgniter 启发的轻量表单验证 JavaScript 库。
validatr - 跨浏览器的 HTML5 表单验证库。
BootstrapValidator - 是验证表单域中最好的 jQuery 插件。要与 Bootstrap 3 一起使用。
is.js - 检查类型、正则表达式、是否存在、时间等。
FieldVal - 多用途验证库。同时支持同步和异步验证。
键盘封装器
mousetrap - 处理键盘快捷键的 JavaScript 库。
keymaster - 定义和调度键盘快捷键的小型库。
Keypress - 键入捕捉工具库,任何键都可以成为一个修饰健。
KeyboardJS - 一个用于绑定键盘组合的 JavaScript 库,让你脱离快捷键和快捷键组合冲突的痛苦。
jquery.hotkeys - jQuery Hotkeys 能让你在代码任何的地方监听键盘事件,并几乎支持所有按键组合。
jwerty - 令人惊叹的键盘事件处理库。
浏览和引导
intro.js - 这是一个介绍新功能的很好方式,能一步步地引导用户浏览你的网站和项目。
shepherd - 通过引导让用户浏览你的应用程序。
bootstrap-tour - 应用 Twitter Bootstrap 弹出框对产品进行快速简单的引导。
tourist - 简单、灵活的应用引导介绍库。
chardin.js - 简单的应用遮罩层介绍。
pageguide - 使用 jQuery 和 CSS3 的 web 页面元素交互引导库。
hopscotch - 让开发者更容易向其页面产品添加引导的框架。
joyride - 基于 jQuery 的功能引导插件。
focusable - 通过向页面其余部分添加遮罩层,使焦点聚集在特定 DOM 元素。
messenger - 为你的应用添加 Growl-style 弹框和信息(Crowl 是 Mac OS X 下的一个通知系统)。
noty - jQuery 通知插件。
pnotify - 适用于 Bootstrap、jQuery UI 和 Web Notifications Draft 的 JavaScript 通知库。
toastr - 简单的弹出框通知(toast notifications:用来显示简单的,会自动到期的信息窗口)。
humane-js - 一个简单、时髦的浏览器通知系统。
smoke.js - 与框架无关的、能够自定义样式的 JavaScript 弹框系统。
Swiper - 使用硬件加速过渡的移动设备触控滑块框架。
slick - 你所需要的最后一个轮播插件。
slidesJs - 响应式的 jQuery(1.7.1+)幻灯片插件,具有触摸、 CSS3 过渡等特性。
FlexSlider - 一款令人惊叹的、全响应式的幻灯片 jQuery 插件。
unslider - 最简单的幻灯片 jQuery 插件。
colorbox - 轻量、可自定义的灯箱 jQuery 插件。
fancyBox - 提供了良好优雅的方式,为页面上的图片、html 内容和多媒体添加缩放功能的工具。
sly - 基于项导航的、支持单向滚动的 JavaScript 库。
vegas - 向页面添加漂亮的全屏背景的 jQuery 插件,甚至允许幻灯片。
Sequence - 用于创建响应式的幻灯片、演示、旗帜广告和以步骤为基础的应用的 CSS 动画框架。
baguetteBox.js - 易于使用的、用纯 JavaScript 实现的遮罩层脚本。
reveal.js - 用 HTML 创建漂亮演示控件的框架。
PhotoSwipe - 适用于移动设备和桌面电脑的、模块化和不无依赖框架的 JavaScript 画廊控件。
jcSlider - 用 CSS 动画实现的响应式幻灯片 jQuery 插件。
basic-jquery-slider - 易于使用、指定主题和定制化。
unslider - 这是最简单的幻灯片 jQuery 插件。
jQuery.adaptive-slider - 带有自适应颜色标题和导航的幻灯片 jQuery 插件。
slidr - 可添加一些幻灯片效果。
Flickity - 可触摸的、响应式的和可轻弹的画廊。
Ion.RangeSlider - 强大的、易于自定义的范围滑块选择库,支持很多配置和皮肤。
jQRangeSlider - 支持日期的滑块选择库。
noUiSlider - 轻量无冗余的、高度定制化的滑块选择库。
rangeslider.js - HTML5 input 区域滑块元素。
typeahead.js - 快速的、功能齐全的自动补全库。
tag-it - 处理多标签字段以及标签建议/自动完成的 jQuery UI 插件。
At.js - 向你的应用添加类似 Github 的自动完成提示功能。
Placeholders.js - JavaScript 补全 HTML5 占位符的属性。
fancyInput - 利用 CSS3 效果让输入更有趣。
jQuery-Tags-Input - 利用这个 jQuery 插件,可奇妙地将一个简单的文本输入转换成一个酷酷的标签列表。
vanilla-masker - 一个纯 JavaScript 实现的输入控制库。
Ion.CheckRadio - 一个为复选框和单选按钮添加样式的 jQuery 库,支持多种皮肤。
pickadate.js - 对移动设备友好的、响应式的和轻量的 jQuery 日期 & 时间输入选择器。
bootstrap-datepicker - 基于 bootstrap 的日历选择器。
Pikaday - 一个崭新的 JavaScript 日期选择器 && 轻量、无依赖和模块化的 CSS。
fullcalendar - 全尺寸、支持拖放事件的日历(jQuery 插件)。
rome - 可定制的日期(和时间)选择器。无依赖,可选 UI。
datedropper - datedropper 是一个 jQuery 插件,它提供了快速简易的方式去管理日期输入框。
selectize.js - Selectize 是文本框和选择框的混合体。它基于jQuery,拥有自动完成和键盘感应下拉列表功能,可用于标签、联系人列表等。
select2 - 它基于 jQuery,是选择框(select box)的替代品。支持搜索、远程数据集和无限滚动。
chosen - 可以让冗长不便的选择框更友好的库。
jQuery-File-Upload - File Upload 是一个支持多文件选择、文件拖放、进度条、验证和图片、音频、视频预览的 jQuery 插件。
dropzone - Dropzone 是一个易于使用且支持多文件拖放的库。其支持图片预览并且拥有很好的进度条效果。
flow.js - 一个通过 HTML5 的 File API ,提供多个同时链接的、稳定的、容错的、可恢复的/可重新开始的文件上传库。
fine-uploader - 一个带有进度条、拖放功能和支持直接上传到 S3 (Amazon Simple Storage Service,亚马逊简易存储服务)的多文件上传插件。
FileAPI - JavaScript 文件工具集合。支持多文件上传、拖放和文件分块上传。对于图像,支持裁剪、调整大小和根据 EXIF 自动调整方向。
plupload - 处理文件上传的 JavaScript API,其支持多文件选择、文件类型过滤、分块请求、客户端图片缩放和根据不同的运行环境选择 HTML5、Silverlight 和 Flash。
form - jQuery 表单插件。
Garlic.js - 自动在本地保存表单文本和选择框的值,直到表单被提交。
Countable - 对某个 HTML 元素包含文本的段落数、单词数和字符数进行统计的 JavaScript 函数。
card - 只需一行代码,让信用卡表单变得更友好。
stretchy - 自适应大小的 form 元素,表单本应该是这样的。
list.js - 向表格、列表等 HTML 元素添加搜索、排序、过滤和自适应功能的库。在已有 HTML 上增加可视化。
tipsy - 基于 jQuery 的 Fackbook 风格的提示工具(tooltip)。
opentip - 开源且基于 prototype 框架的 JavaScript 工具提示库。
qTip2 - 非常强大的工具提示库。
tooltipster - 一个工具提示 jQuery 插件。
simptip - 用 Sass 制作的、简单的工具提示。
jquery-popup-overlay - 是一个响应式的和可访问性强的模态框(modal)和工具提示框 jQuery 插件。
模态框和弹出框
Magnific-Popup - 专注于性能、轻量、响应式的灯箱(lightbox)脚本。
jquery-popbox - jQuery 提示框插件。
jquery.avgrund.js - 一种新的定于弹出的模态框 jQuery 插件。
vex - 新的、拥有高度可配置和易于改变样式功能的对话框库。
bootstrap-modal - 对 Bootstrap 默认的模态框类进行扩展。其支持响应式、可堆叠和 ajax 等。
css-modal - 纯 CSS 打造的模态框。
jquery-popup-overlay - 是一个响应式的和可访问性强的模态框和工具提示框(tooltips)jQuery 插件。
scrollMonitor - 滚动发生时,可以监听元素的、简单、快速的 API。
headroom - 除非你需要显示页面头部(header),否则将隐藏它,以腾出页面头部空间。
onepage-scroll - 创建一个类似 Apple 的单页面滚动网站(iPhone 5S 网站)。
iscroll - 高性能、轻量、无依赖、兼容多平台的 JavaScript 滚动组件。
skrollr - 独立(不依赖 jQuery) 的视差滚动库,适用于移动设备(Android + iOS)和桌面电脑。
parallax - 面向智能设备的视差引擎。
stellar.js - 让视差滚动变简单。
plax - 基于 jQuery 的视差库。
jparallax - 创建可交互视差效果的 jQuery 插件。
fullPage - 简单和易于使用的、用于创建全屏滚动网站的插件(也被称为单页面网站)。
ScrollMenu - 让老旧无聊的滚动条焕然一新。
jQuery-menu-aim - 当用户光标放在特定下拉菜单项时触发事件。可制作响应式的、大数据量的下拉菜单,如 Amazon 的。
jQuery contextMenu - 右键菜单(contextMenu) 管理工具。
Slideout - 为移动设备的 web 应用制作出响应式的、可触摸滑出的导航菜单。
Slide and swipe - 一个基于 touchSwipe 库的滑出菜单插件。
jTable - 基于 CRUD 表创建 AJAX 的 jQuery 插件。
DataTables - 这是一个非常灵活的工具,在渐进增强的基础上,将高级的交互效果加到 HTML 表格。(jQuery 插件)
floatThead - (jQuery 插件)锁定表格头部,只允许表格内容滚动。适用于任何表格,而且不需要额外的 html 或 css。
Masonry - 式的网格布局库。
Packery - 使用装箱算法(bin-packing)的网格布局库。支持布局。
Isotope - 可过滤和可排序的网格布局的库,它能实现 Masonry、Packery 等布局。
Semantic UI - 拥有大量主题和元素的 UI 套件。
hammer.js - 拥有多种触摸手势的 JavaScript 库。
touchemulator - 在桌面电脑模仿触摸输入。
Dragula - 超级易于使用的拖拽库。
Leaflet - 对移动设备友好的、可交互的地图 JavaScript 库。
Cesium - 开源的、基于 WebGL 实现的虚拟地球仪和地图引擎。
gmaps - 以最简单的方式使用 Google 地图。
polymaps - 一个免费的、兼容现代 web 浏览器的、用于制作动态可交互的地图 JavaScript 库。
kartograph.js - 开源的 Kartograph SVG 地图渲染器。
mapbox.js - Mapbox 的 API,Leaflet 的插件。
jqvmap - 矢量地图 jQuery 插件。
OpenLayers3 - 高性能的、功能丰富的库,能满足你对地图所有需求。
prettyembed.js - 更完美地嵌入 YouTube && 拥有很好的选项,如高分辨率的预览图、嵌入选项的高级定制和可选的 FitVids 支持。
html5media - 能在所有主流浏览器播放多媒体标签中定义的多媒体文件。/
Play-em JS - Play&#39;em 是一个 JavaScript 组件,它能管理音乐/视频播放顺序,通过在一个 DIV 元素里嵌入几个播放器(Youtube、Soundcloud 和 Vimeo)来控制一系列歌曲的播放。
polyplayer - 将 YouTube、Soundcloud 和 Vimeo 播放器的 API 统一成一套。
flowplayer - HTML5 视频播放器 http://flowplayer.org/
mediaelement - 让 HTML5、 Flash 播放器和模仿 HTML5 媒介元素 API 的 Silverlight shim,在所有浏览器拥有一致的 UI。/
SoundJS - 让音频在 web 上运行更简单的库。它为不同浏览器提供了一致的 API。
velocity - 加速 JavaScript 动画。
jquery.transit - 拥有超级流畅的 CSS3 变换和过渡的 jQuery 插件。
impess.js - 在 HTML 文档里,运用 CSS3 变换和过渡制作类似 Prezi 的展现效果。
bounce.js - 可以立刻创建有趣的 CSS3 动画。
GreenSock-JS - 适用于所有主流浏览器的高性能 HTML5 动画。
TransitionEnd - TransitionEnd 是一个运用 transitonend 事件的、跨浏览器的库。
Dynamic.js - 用于创建基于物理知识的 CSS 动画库。
lena.js - 拥有滤镜和实用功能的图像处理库。
pica - 高质量地调整图片大小(拥有快速的、纯 JS 实现的 Lanczos 滤镜算法)。
cropper - 一个简单的图像裁剪 jQuery 插件。
ECMAScript 6
es6features - ECMAScript 6 特性概述。
es6-features - ECMAScript 6: 特性概述和比较。
ECMAScript 6 compatibility table - Compatibility tables 展示了各种平台上所有 ECMAScript 6 特性的支持程度。
Babel (Formerly 6to5) - 将 ES6+ 代码转换成纯 ES5。
Traceur compiler - ES6 特性转 ES5。包括 classes、generators、promises、destructuring patterns、default parameters 等。
软件开发工具包(SDK)
javascript-sdk-design - 从工作和个人经验中提炼出来的 JavaScript SDK 设计指导。
echo - 利用 data-* 属性延迟加载图片。
picturefill - 响应式图片显示插件,使浏览器支持 srcset、size 属性。
platform.js - 一个平台检测库,几乎适用于所有 JavaScript 平台。
json3 - 一个现代 JSON 实现库,几乎兼容所有 JavaScript 平台。
Logical Or Not - 一个关于 JavaScript 特性的游戏。
BitSet.js - 实现位向量的 JavaScript 库。
上一篇:下一篇:
otransaction.jsoCSS过渡–a{color:#f00;transition:}–a:hover{color:#}完整代码如图:模态框o以弹出对话框的形式...
工云IT技术
2Bootstrap标签、工具、弹出框、警告框标签页效果图:核心代码:o&ul class="nav nav-tabs" role="tablist"& &li role="...
工云IT技术
&html xmlns="http://www.w3.org/1999/xhtml"&&head&&title&【推荐】JS+CSS打造的右下角弹出框_网页代码站()&/...
劲爆视频合集
程序员必须小知识:Js各种弹出框展示1.用页面展示出有哪几种弹出方式: &body& &div& &ahref="#" onclick="show1()"&show&/a&...
java大数据
jquery/ui/datepicker.min.js攻击者使用onblur函数加载恶意内容,窗... 则此页面将显示带有典型技术诈骗警告的弹出窗口.这些骗子试图...
可以自己封装一个方法实现弹Dialog,然后js里面调用就行了
没什么好省略脏话的,我同时作为web developer和web user 都是觉得拦截/屏蔽主动弹窗有万好而无一弊.至于怎么弹页面,有Div模拟模态对话框,有Iframe引用url,再不济规范用户操作流程,确保用户在感知的情况下 确认付款然后popup.
一些提示:window.location.reload();varunloadPageTip=function(){return"您编辑的文章内容还没有进行保存!";};window.onbeforeunload=unloadPageTwindow.onbeforeunload=function(){alert("===onbeforeunload===");if(event.clientX&document.body.cli...
js部分应该写window.onload=function(){alert('xxxx')}或者把js写在的上面一行
今日推荐本周推荐本月推荐
09-17标签:
09-17标签:
09-17标签:
09-17标签:
09-17标签:
PHP缓存技术的多种方法小结
这里所说的数据缓存是指数据库查询PHP缓存机制,每次访问页面的时候,都会先检测相应的缓存...
成都华育国际就业部
原来嵌入式开发所做的事就是负责把各个功能模块合理设计,用程... api接口是这样写的(/capi/cp.php?/是我接口的BaseUrl) 请求参...
大数据文摘
有复杂前端项目开发经历,能够独立完成产品中的功能模块;2、... 2、至少掌握一门 web 编程语言,如 Java、python、ruby、PHP、...
金融八卦女}

我要回帖

更多关于 nodejs 弹出消息框 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信