写了个微型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. c++趣味之返回void

    void a(){} void b(){return a();} int main() { b(); ; } 这个是能编译的(vs,gcc),void函数是能返回,一般不会这么写,但是这样确实可以.你 ...

  2. 适用于VS C++环境的注释代码段,可以让你的代码被使用时有高可读性的注释

    编码时,在对高级语言(C#/VB etc)函数的访问时,经常会有很明确的函数功能提示,参数提示,与返回值提示.微软的VisualStudio C++集成开发环境同样有这样的功能,只是常见开源的代码很少 ...

  3. 监控mysql主从同步

    1,昨天看到shell一道面试题,需求如下: 监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进 ...

  4. 移动端 input样式在安卓与ios上不同的解决方案

    input{ -webkit-appearance:none; }

  5. MYSQL中默认隐式事务及利用事务DML

    一:默认情况下,MySQL采用autocommit模式运行.这意味着,当您执行一个用于更新(修改)表的语句之后,MySQL立刻把更新存储到磁盘中.默认级别为不可重复读. 二:会造成隐式提交的语句以下语 ...

  6. CentOS 7.0下解决ifconfig: command not found的方法

    在CentOS7.0中输入ifconfig命令会遇到-bash: ifconfig: command not found. 在CentOS最小安装时是没有附带ifconfig,我们进入sbin目录下可 ...

  7. Windows单机最大TCP连接数的问题

    本文和大家分享一下Windows下单机最大TCP连接数,因为在做Socket 编程时,我们经常会要问,单机最多可以建立多少个 TCP 连接,本文将介绍如何调整系统参数来调整单机的最大TCP连接数. W ...

  8. python中自定义模块的引用

    在python中,实现能够在任何路径下都可以直接import,就必须将存放函数或类的文件添加到python的搜索路径. 其实很简单,主要步骤就是: import sys sys.path.append ...

  9. 怎么将后缀为.opt,.frm,.myd,.myi文件还原或者是导入mySQL中

    其实这个问题的解决方案很简单,把这些文件连同这些文件所在的文件夹原封不动地复制到你的 mysql 文件夹下的 data 里面 (在我的电脑里面是D:\xampp\mysql\data), 然后你进my ...

  10. python基本数据类型之------列表

    一.列表----list 列表是有序的,列表元素可以被修改 =================list之灰魔法================ 1.列表格式: 中括号括起来, 逗号分隔每个元素, 列表 ...