远离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 相关文章推荐
jQuery 白痴级入门教程
Nov 11 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
jquery日历控件实现方法分享
Mar 07 Javascript
JavaScript获取table中某一列的值的方法
May 06 Javascript
window.location的重写及判断location是否被重写
Sep 04 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
jQuery中判断对象是否存在的方法汇总
Feb 24 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 Javascript
简单谈谈原生js的math对象
Jun 27 Javascript
jquery实现倒计时小应用
Sep 19 jQuery
Angular路由ui-router配置详解
Aug 01 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 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
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php生成静态页面的简单示例
2014/04/17 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
AngularJS中isolate scope的用法分析
2016/11/22 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
js的三种继承方式详解
2017/01/21 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
Bootstrap Table实现定时刷新数据的方法
2018/08/13 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
go和python调用其它程序并得到程序输出
2014/02/10 Python
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
python 生成器协程运算实例
2017/09/04 Python
python线程中同步锁详解
2018/04/27 Python
浅谈dataframe中更改列属性的方法
2018/07/10 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
如何用python开发Zeroc Ice应用
2021/01/29 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
复核员上岗演讲稿
2014/01/05 职场文书
演讲稿怎么写
2014/01/07 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书