远离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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
用JS写的一个TableView控件代码
Jan 23 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
Mar 15 Javascript
select标记美化--JS式插件、后期加载
Apr 01 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
Mar 12 Javascript
JavaScript面向对象编程入门教程
Apr 16 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
Jan 13 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
Aug 25 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
Mar 29 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
用缓存实现静态页面的测试
2006/12/06 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
jquery ajax post提交数据乱码
2013/11/05 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
python中使用pyhook实现键盘监控的例子
2014/07/18 Python
详解python函数传参是传值还是传引用
2018/01/16 Python
PyQt5响应回车事件的方法
2019/06/25 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
党支部公开承诺书
2014/03/28 职场文书
工程承诺书怎么写
2014/05/24 职场文书
毕业证明书
2015/06/19 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
Java详细解析==和equals的区别
2022/04/07 Java/Android