写了个微型JS框架

主要实现了:showDialog、noConflict、定位元素、event绑定功能

使用端的代码:

<head>
<title></title>
<script src="A2D.js" type="text/javascript"></script>
<link href="A2D.css" rel="stylesheet" type="text/css" />
<script language="A2D" type="text/A2DTemplate" id="showDialog"> //搞了个html模版
<div class="tooltip">{msg}</div>
</script>
</head>
<body>
<button id="a111">Test2</button> <script language="javascript" type="text/javascript">
var newName=$.noConflict();
newName.say();
newName.bind(newName("a111"), "click", function () {
newName.showDialog('raised by test2 button.' + new Date());
});
</script>
</body>

A2D.js代码

(function (wd, doc) {
function noConflict() {
wd.$ = _$;
wd.A2D = A2D;
return A2D;
}
function saySomeWord() {
showDialog("My name is Aaron");
}
function showDialog(msg) {
var template = findA2DTemplate("showDialog"); template = A2D.helper.replace(template, "{msg}", msg); var div = document.createElement("div");
div.innerHTML = template; var first = doc.body.firstChild;
doc.body.insertBefore(div, first);
}
function findA2DTemplate(templateId) {
return A2D(templateId).innerHTML;
} function bind(element, evtName, evtHandler) {
if (doc.addEventListener)
element.addEventListener(evtName, evtHandler, false);
else
element.attachEvent("on" + evtName, evtHandler);
} var A2D = function (id) {
return doc.getElementById(id);
}
A2D.noConflict = noConflict;
A2D.say = saySomeWord;
A2D.showDialog = showDialog;
A2D.bind = bind; A2D.helper = {};
A2D.helper.replace = function (src, search, tobe) {
while (src.indexOf(search) >= 0) {
src = src.replace(search, tobe);
}
return src;
} var _$ = wd.$;
wd.$ = A2D;
}
)(window, document);

A2D.css代码

.tooltip
{
padding: 10px;
font-size: large;
font-style: normal;
color: #008000;
background-color: #CCCCFF;
border-bottom-style: dotted;
border-right-style: dotted;
border-right-width: 1px;
border-bottom-width: 1px;
border-right-color: #C0C0C0;
border-bottom-color: #C0C0C0;
}

效果图:

给我的感觉是前端东西比较新颖,要很努力才能真正精通。

A2D JS框架的更多相关文章

  1. A2D JS框架 - loadScript实现

    其实这个功能比较小,本着自己造轮子的优良传统....就自己造一个好了 <head> <title></title> <script src="A2D ...

  2. A2D JS框架 - DES加密解密 与 Cookie的封装(C#与js互相加密解密)

    这次实现了JS端的DES加密与解密,并且C#端也能正确解析DES的密文(反之也实现了) 使用的代码如下,非常方便: <script src="A2D.js" type=&qu ...

  3. A2D JS框架 - AOP封装

    AOP在js中的实现,先看看用法吧: var A2D = $.noConflict();//不要误会,此乃我自己写的A2D框架,非jQuery function fn1(name, age) { co ...

  4. A2D JS框架 - Web API CSRF保护实现

    这次自己实现了类似jQuery中ajax调用的方法,并且针对RESTFul进行了改造和集成,实现的A2D AJAX接口如下: $.ajax.RESTFulGetCollection("/ap ...

  5. 微信js框架第二篇(创建完整界面布局)

    接着昨天的继续谈关于微信新出的这个js框架,今天主要谈一个页面的创建到布局的详细步骤. 一.创建一个完整页面       页面你可以创建在项目的任何节点,只要你在入口文件正确引入创建该页面的路径就可使 ...

  6. JS框架

    s框架就是将常用的方法进行封装,方便调取使用.一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方 ...

  7. 前端Js框架汇总

    概述: 有些日子没有正襟危坐写博客了,互联网飞速发展的时代,技术更新迭代的速度也在加快.看着Java.Js.Swift在各领域心花路放,也是煞是羡慕.寻了寻.net的消息,也是振奋人心,.net co ...

  8. Node.js 框架

    Node.js的是一个JavaScript平台,它允许你建立大型的Web应用程序.  Node.js的框架平台使用JavaScript作为它的脚本语言来构建可伸缩的应用. 当涉及到Web应用程序的开发 ...

  9. js框架设计1.1命名空间笔记

    借到了司徒正美的写的js框架设计一书,司徒大神所著有些看不太懂,果然尚需循序渐进,稳扎js基础之中. 第一张开篇司徒阐述了种子模块的概念 种子模块亦为核心模块,框架最先执行模块,司徒见解应包含:对象扩 ...

随机推荐

  1. uni-app 子组件如何调用父组件的方法

    1.在父组件methods中定义一个方法: changeType:function(type){ this.typeActive = type; alert(type); } 2.在父组件引用子组件时 ...

  2. (网页)HTML5 Canvas ( 事件交互, 点击事件为例 ) isPointInPath(转)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Javascript数组系列三之迭代方法2

    今天我们来继续 Javascript 数组系列的文章,上文 <Javascript数组系列二之迭代方法1> 我们说到一些数组的迭代方法,我们在开发项目实战的过程中熟练的使用可以大大提高我们 ...

  4. Ext 日期格式化

    //日期格式化 Date.prototype.Format = function (fmt) { var o = { , //月份 "d+": this.getDate(), // ...

  5. Linux中安装硬盘后对硬盘的分区以及挂载

    我将使用VM来进行模拟 先使用df看下我的电脑硬盘信息: df -h 可以看到只有一个sda1分区装载/boot,还有一个扩展分区 查看dev下的硬盘: 只有一个硬盘(两个分区) 注意: 如果你是ID ...

  6. [20170612]FOR ALL COLUMNS SIZE repeat(12c).txt

    [20170612]FOR ALL COLUMNS SIZE repeat(12c).txt --//昨天看了https://jonathanlewis.wordpress.com/2017/06/0 ...

  7. mysql性能排查思路

      mysql性能瓶颈排查 top/free/vmstat/sar/mpstat 查看mysqld进程的cpu消耗占比 确认mysql进程的cpu消耗是%user, 还是sys%高 确认是否是物理内存 ...

  8. MATLAB常微分方程数值解——欧拉法、改进的欧拉法与四阶龙格库塔方法

    MATLAB常微分方程数值解 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.一阶常微分方程初值问题 2.欧拉法 3.改进的欧拉法 4.四阶龙格库塔 ...

  9. nmap脚本使用总结

    0x00 前言: nmap的基本介绍和基本使用方法,在乌云知识库中已经有人提交过,讲的比较详细,在此文中就不再讲述. 具体链接:http://drops.wooyun.org/tips/2002 本文 ...

  10. 《数据库技术基础与应用(第2版)》学习笔记——第7章~

    从这章开始,操作的内容开始增多,概念的东西越来越少,可能跟学校的教学目的有关,但是跟我的学习目的不匹配,就不再继续整理. 总结:这本书适合大学本科生学习和了解数据库的相关知识以及Access和SQL ...