bootstrap源码学习之消息提示alert(一)
2016-01-18 10:57
639 查看
/* ======================================================================== * Bootstrap: alert.js v3.3.6 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2016 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { //这种写法称为IIFE(Imdiately Invoked Function Expression 立即执行的函数表达式) 'use strict';//进入"严格模式"的编译指示(pragma),将"use strict"放在函数体的第一行,则整个函数以"严格模式"运行 // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]'//可取消(dismiss)功能:向关闭按钮添加 data-dismiss="alert",就会自动为警告框添加关闭功能。 var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.6' Alert.TRANSITION_DURATION = 150//让过渡效果持续150 秒 Alert.prototype.close = function (e) { var $this = $(this)//这一步是将所点击的按钮元素赋值给变量 var selector = $this.attr('data-target')//取得对应的面板的CSS表达式 if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert//备份 $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery);
相关文章推荐
- 分页Bootstrap实现
- 学籍管理系统
- bootstrap.css两个友好插件
- bootstrap-fileupload-上传文件控件
- Bootstrap结合PHP实现简单的翻页功能
- 2016 系统设计第一期 (档案一)MVC 和 Bootstrap 表单转换
- 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
- Bootstrap 栅格系统
- 【Spring】Spring MVC文件上传--整合bootstrap-fileinput和jQuery-File-Upload
- bootstrap与360浏览器不兼容问题
- Java教程]JavaEE框架Bootstrap、HTML5、jQuery、SpringMVC
- 分布式java shiro、maven、Bootstrap、Bootstrap、SpringMVC、Mybatis、Hibernate
- 关于bootstrap-datetimepicker 插件的配置参数详解
- 002-bootstrap图标的使用。
- 001-bootstrap学习起步,搭建bootstrap环境。
- 开始学习bootstrap啦!
- 0001 -- 搭建bootstrap环境。
- 0002 -- bootstrap 图标的使用。
- 0003 -- bootstrap 按钮的使用。
- Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice