远离JS灾难css灾难之 js私有函数和css选择器作为容器


Posted in Javascript onDecember 11, 2011

尽管js可以想面向对象那样去构造对象,隐藏私有方法,但需求变化的往往比你写程序还要快时,就连设计js对象的时间也没有了,所以我比较倾向于用js私有函数和js方法;jquery私有函数和jquery对外暴露方法的形式也可以实现,而页面生成的html结构则完全在js中生成,包括哪些id和class, 这样可以最大限度的确保统一和重用的方便性,但也有个缺点,就是在重用时,如果需要样式发生变化(结构是死的不能变化),就需要用div将原来的结构包起来,相关的样式也需要用对应的id包裹一遍,如果是新增的事件等就只能采用绑定的方式,暂时还没有好的方法
例如,我面要实现 在一个div中包含几张图片
这样做也有个缺点 就只 css 必须得复制一次 在做修改 但对结构和样式以及js可以重用

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> 
<script type="text/javascript"> 
var publicSetDiv = function (url, id) { 
//作为对外公开的,可以传参就行 
this.makediv = function (j) { 
var imglist = makeimglist(url, j); 
$(id).html(imglist); 
$(id).show(); 
} 
//私有的 
function makeimglist(url, j) { 
var i = 0; 
//var j = 10; 
var html = ""; 
for (i; i < j; i++) { 
html += "<img src='" + url + "' class='item' />"; 
} 
return html; 
} 
} 
$(document).ready(function () { 
// Handler for .ready() called. 
var mytest = new publicSetDiv("http://images.cnblogs.com/logo_small.gif", "#test"); 
mytest.makediv(10); 
var mytest2 = new publicSetDiv("http://images.cnblogs.com/logo_small.gif", "#test2"); 
mytest2.makediv(10); 
}); 
</script> 
<%-- 原始默认 的样式--%> 
<style type="text/css"> 
.item{ width:200px; height:100px; } 
#test2 .item{ width:200px; height:100px; } 
</style> 
<%-- 第二次使用该样式并稍作修改 --%> 
<style type="text/css"> 
#test2 .item{ width:200px; height:200px; background-color:Black; } 
</style> 
</head> 
<body> 
<form id="form1" runat="server"> 
第一次使用 
<div id="test" style=" display:none;"> 
</div> 
<div id="test2" style=" display:none;"> 
</div> 
</form> 
</body> 
</html>
Javascript 相关文章推荐
使用GruntJS构建Web程序之构建篇
Jun 04 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
原生JS实现旋转木马式图片轮播插件
Apr 25 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
微信小程序 本地存储及登录页面处理实例详解
Jan 11 Javascript
react-router4 嵌套路由的使用方法
Jul 24 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
如何用Node写页面爬虫的工具集
Oct 26 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
详解node和ES6的模块导出与导入
Feb 19 Javascript
vue实现简单的登录弹出框
Oct 26 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 #Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 #Javascript
一个简单的js树形菜单
Dec 09 #Javascript
JS构建页面的DOM节点结构的实现代码
Dec 09 #Javascript
电子商务网站上的常用的js放大镜效果
Dec 08 #Javascript
常见JS效果之图片减速度滚动实现代码
Dec 08 #Javascript
JQuery循环滚动图片代码
Dec 08 #Javascript
You might like
漂亮但不安全的CTB
2006/10/09 PHP
dedecms中常见问题修改方法总结
2007/03/21 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
js查找父节点的简单方法
2008/06/28 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
简单实现js悬浮导航效果
2017/02/05 Javascript
vue.js 中使用(...)运算符报错的解决方法
2018/08/09 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
Python中Django框架下的staticfiles使用简介
2015/05/30 Python
python中正则表达式与模式匹配
2019/05/07 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python异常处理例题整理
2019/07/07 Python
python pygame实现球球大作战
2019/11/25 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
在vscode中启动conda虚拟环境的思路详解
2020/12/25 Python
大学生创业计划书的范文
2014/01/07 职场文书
小学生新学期寄语
2014/01/19 职场文书
建筑工地门卫岗位职责
2014/04/30 职场文书
2015年行政人事部工作总结
2015/05/13 职场文书
销售人员管理制度
2015/08/06 职场文书
团结主题班会
2015/08/13 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
Windows Server 2012 R2服务器安装与配置的完整步骤
2022/07/15 Servers