远离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 相关文章推荐
把html页面的部分内容保存成新的html文件的jquery代码
Nov 12 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
用jquery中插件dialog实现弹框效果实例代码
Nov 15 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
vue内置组件transition简单原理图文详解(小结)
Jul 12 Javascript
vue实现文件上传功能
Aug 13 Javascript
使用Angular-CLI构建NPM包的方法
Sep 07 Javascript
Vue实现移动端左右滑动效果的方法
Nov 27 Javascript
性能优化篇之Webpack构建速度优化的建议
Apr 03 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 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 debug 安装技巧
2011/04/30 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
js文件中调用js的实现方法小结
2009/10/23 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
Javascript事件实例详解
2013/11/06 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
nodejs入门教程二:创建一个简单应用示例
2017/04/24 NodeJs
vuejs选中当前样式active的实例
2018/08/22 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
在 Vue.js中优雅地使用全局事件的方法
2019/02/01 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
实例说明Python中比较运算符的使用
2015/05/13 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
Python读取分割压缩TXT文本文件实例
2020/02/14 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
护士节演讲稿开场白
2014/08/25 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
县长“四风”对照检查材料思想汇报
2014/10/05 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技