如何在一个网站或者一个页面规划JS
规划主要分为两部分:1.JS的分层,2.Js的规划
1.JS的分层(功能)
1-1.底层的库 : jquery
1-2.组件(ui) : 比如拖拽等,模块之间没有必然的联系,可以重复利用
1-3.应用 : 逻辑部分
2.js的规划(管理)
避免全局和方法,可以采用命名空间,闭包, 面向对象的写法.便于管理.模块化 (seaJs,requireJs)我们可以用数轴来比喻规划,X轴是功能,Y轴是管理.比如图书馆,这个图书馆的每一层书是不一样的,这就好比是我们X轴功能的区分,图书馆的每一层书如何摆放,是放书架上还是桌子上,这些是
通过规划书籍来完善的,这就好比Y轴的管理.
用命名空间做案例:
先定义一个总的命名空间,然后给它添加多个属性名,这些属性名都是不同的功能模块.最后在window.onload中调用即可.
window.onload = function(){
mv.app.toTip();
};
var jd = {};
mv.tools={}; //
mv.ui={}; //可以复用的效果加到这里,比如输入框鼠标失去,获得焦点,下面以textChange举例
mv.ui.textChange=function(obj,str){//输入框效果
obj.onfocus = function(){
if(this.value == str){
this.value = "";
};
};
obj.onblur = function(){
if(this.value == ""){
this.value = str;
};
};
};
mv.app={};
mv.app.toTip = function(){
mv.ui.textChange(oDiv1,"请输入要搜索的");
};
如何在一个网站或者一个页面规划JS的更多相关文章
- 如何在一个网站或者一个页面,去书写你的JS代码
// JavaScript Document //如何在一个网站或者一个页面,去书写你的JS代码: //1.js的分层(功能) : jquery(tools) 组件(ui) 应用(app), mvc( ...
- 如何在一个网站或者页面写js
如何在一个网站或者页面写js: 1. JS的分层(功能):jquery(tools) 组件(ui) 应用(app).mvc(backboneJS) 2. JS的规划(管理):避免全局变量和方法(命 ...
- 用js把数据从一个页面传到另一个页面
用js把数据从一个页面传到另一个页面的层里? 如果是传到新页面的话,你网站基于什么语言开发直接用get或者post获取,然后输出到这个层 通过url传参 如果是HTML页面的话JS传到新页面就wind ...
- JavaScript网站设计实践(七)编写最后一个页面 改进表单
一.最后一个页面 contact.html.改进表单 在该页面实现的功能: 几乎所有的网站都会有表单填写,对于用户输入和填写的数据,首先我们一般现在前台验证,然后再去后台验证. 在前台最简单的验证:检 ...
- 纯JS焦点图特效(可一个页面多用)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【真的是随笔】如何利用htaccess把网站流量引到一个页面上(站点维护页效果)
咕咕咕,好久没来博客园转悠了,最近(这个最近好长啊)一直没时间写博(事实上也不知道写点什么有逼格的东西),所以一直都在潜水,,,(此处省略n字) 好了切入正题,关于如何把网站的所有流量引向一个页面的方 ...
- [HTML]js实现页面跳转,页面A跳到另一个页面B.以及页面传值(中文)
要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)<script language="javascri ...
- 用原生js实现一个页面乘法口诀表
今天我自己用js实现了一个页面乘法口诀表(如图)来共享给大家,做的不是很好,如果大家有新的想法可以跟我交流哦. 代码如下: <!doctype html><html lang=&qu ...
- js实现把一个页面层数据传递到另一个页面
由于之前面试,被问到过此问题,所以今天特意整理了一下.由于自己技术水平有限,若存在错误,欢迎提出批评. 本博客整理了两种方式从一个页面层向另一个页面层传递参数. 一. 通过cookie方式 1. 传递 ...
随机推荐
- 从容而优雅(leisurely and elegant)
每时每刻, 我都变得更好了. ----- 法国心理学家 埃米尔 . 库埃 每时每刻, 我都变得更忙了. ----- 罗伯特 . 西奥迪尼 咬牙切齿的寒风, 昏暗的路灯, 默默的走过那一段从教室到寝 ...
- <a>每次点击都会让浏览器重新打开一个窗口问题
<a> 标签的 target 属性规定在何处打开链接文档.如果在一个 <a> 标签内包含一个 target 属性,浏览器将会载入和显示用这个标签的 href 属性命名的.名称与 ...
- jQuery ------------> 验证表单
简单的东西重复做,做多了之后,才能说熟能生巧. 做好一个精美的页面,固然是好,但是,一个页面除了写好之外,我们更需要的是将其功能完善.比如表单的验证,这只是众多工作之一.然后本次就以jQuery的va ...
- http://stackoverflow.com/questions/6065169/requestanimationframe-with-this-keyword
Observe that you call obj.draw as : <button onclick="obj.draw() The first time obj.draw is c ...
- 转:画图解释 SQL join 语句
画图解释 SQL join 语句 我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料.SQL 联合语句好像是基于集合的,用韦恩图来解释咋一看 ...
- C# 字符串转义和反转义
System.Text.RegularExpressions.Regex.Unescape(s) System.Text.RegularExpressions.Regex.Escape(s)
- NetworkReachable学习笔记
一.基本知识 在需要联网的iPhone程序中,我们首先需要检查网络的状态,如果不能连接网络则告诉用户程序不能使用的原因是没有网络连接.在iPhone的SystemConfiguration框架里有提供 ...
- Spring之JDBC模板jdbcTemplate
要使用Jdbctemplate 对象来完成jdbc 操作.通常情况下,有三种种方式得到JdbcTemplate 对象. 第一种方式:我们可以在自己定义的DAO 实现类中注入一个Da ...
- 常用dos命令 如查询端口号是否被占用
①查询端口号是否被占用掉 在windows命令行窗口下执行:运行--cmdC:\>netstat -aon|findstr "8080" TCP 127.0.0.1:80 0 ...
- 关于MVC
MVC,或多或少都有听说过.这个模式在客户端程序里面比较常见.以前有人老说mvc是什么设计模式之类.至少我理解的不是.我觉得 MVC是一种模块划分方法.根据它,我们可以快速地划分单独某个模块.比如排行 ...