远离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 Firefox与IE 替换节点的方法
Feb 24 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
JS获取后台Cookies值的小例子
Mar 04 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用
Nov 04 Javascript
Kotlin学习第一步 kotlin语法特性
May 25 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
基于rollup的组件库打包体积优化小结
Jun 18 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
微信小程序引用iconfont图标的方法
Oct 22 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 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
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
jQuery插件编写步骤详解
2016/06/03 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
JavaScript表单验证实现代码
2017/05/22 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
用js实现放大镜效果
2020/10/28 Javascript
解读Python中degrees()方法的使用
2015/05/18 Python
初步讲解Python中的元组概念
2015/05/21 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python多线程原理与用法详解
2018/08/20 Python
Python 复平面绘图实例
2019/11/21 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
单位接收函格式
2015/01/30 职场文书
支行行长岗位职责
2015/02/15 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫