远离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 相关文章推荐
JAVASCRIPT下判断IE与FF的比较简单的方式
Oct 17 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
Aug 28 Javascript
JS判断当前日期是否大于某个日期的实现代码
Sep 02 Javascript
JS实现单行文字不间断向上滚动的方法
Jan 29 Javascript
JS实现网页滚动条感应鼠标变色的方法
Feb 26 Javascript
JS实现Fisheye效果动感放大菜单代码
Oct 21 Javascript
ionic开发中点击input时键盘自动弹出
Dec 23 Javascript
Vue中的无限加载vue-infinite-loading的方法
Apr 08 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
Vue多组件仓库开发与发布详解
Feb 28 Javascript
使用webpack搭建vue项目实现脚手架功能
Mar 15 Javascript
vue项目配置同一局域网可使用ip访问的操作
Oct 23 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
mysql 性能的检查和优化方法
2009/06/21 PHP
用PHP+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
PHP自定义多进制的方法
2016/11/03 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
Javascript实现找不同色块的游戏
2017/07/17 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
JavaScript 作用域实例分析
2019/10/02 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
详解Python中的from..import绝对导入语句
2016/06/21 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
postman传递当前时间戳实例详解
2019/09/14 Python
如何基于Python批量下载音乐
2019/11/11 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
安全资料员岗位职责
2013/12/14 职场文书
岗位职责怎么写
2014/03/14 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
模范教师事迹材料
2014/12/16 职场文书
刑事附带民事代理词
2015/05/25 职场文书
《观察物体》教学反思
2016/02/17 职场文书
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python