写了个微型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. jquery带参插件函数的编写

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

  2. Java 时间总结

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80613024 本文出自[赵彦军的博客] 时区 整个地球分为二十四时区,每个时区都有 ...

  3. matlab练习程序(最小二乘多项式拟合)

    最近在分析一些数据,就是数据拟合的一些事情,用到了matlab的polyfit函数,效果不错. 因此想了解一下这个多项式具体是如何拟合出来的,所以就搜了相关资料. 这个文档介绍的还不错,我估计任何一本 ...

  4. 《node.js权威指南》读书笔记

    第一章 node.js介绍 非阻塞型I/O机制 当在访问数据库取得搜索结果的时候,在开始访问数据库之后,数据库返回结果之前,存在一段等待时间. 在传统的单线程处理机制中,在执行了访问数据库的代码之后, ...

  5. 大话C#之委托

    开篇先来扯下淡,上篇博客LZ在结尾说这篇博客会来说说C#中的事件.但是当LZ看完事件之后发现事件是以委托为基础来实现的,于是LZ就自作主张地在这篇博客中先来说说委托,还烦请各位看官见谅!!!另外关于委 ...

  6. django数据查询之F查询和Q查询

    仅仅靠单一的关键字参数查询已经很难满足查询要求.此时Django为我们提供了F和Q查询: # F 使用查询条件的值,专门取对象中某列值的操作 # from django.db.models impor ...

  7. Windows Server 2016-Win Ser 2016新增功能

    本来想着整个系列都是与Active Directory相关的内容,上一章节我们应读者要求补充了Window Server 2016标准版与数据中心版的区别,鉴于读者的疑惑,从本章节开始补充三到五章与W ...

  8. jQuery -- 光阴似箭(四):jQuery 遍历

    jQuery -- 知识点回顾篇(四):jQuery 遍历 通过 jQuery 遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞).这种移动被称 ...

  9. Servlet(五):一个Servlet处理多个请求

    一.为什么要使用一个Servlet来处理多个请求? 当浏览器发送了一次请求到服务器时,servlet容器会根据请求的url-pattern找到对应的Servlet类,执行对应的doPost或doGet ...

  10. June 11. 2018 Week 24th, Monday

    Love is the beauty of the soul. 爱是灵魂之美. From Saint Augustine. The complete version of this quote goe ...