远离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 相关文章推荐
js 页面传参数时 参数值含特殊字符的问题
Dec 13 Javascript
JavaScript对象链式操作代码(jquery)
Jul 04 Javascript
jQuery Tools tooltip使用说明
Jul 14 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
Sep 03 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 Javascript
JavaScript通过filereader接口读取文件
May 10 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
Oct 20 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
Apr 17 Javascript
浅谈如何优雅处理JavaScript异步错误
Nov 12 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
Feb 15 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
Yii快速入门经典教程
2015/12/28 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
详解JavaScript逻辑Not运算符
2015/12/04 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
利用canvas实现的加载动画效果实例代码
2017/07/05 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
利用Python学习RabbitMQ消息队列
2015/11/30 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
2017/05/25 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
python实现黑客字幕雨效果
2018/06/21 Python
python画图的函数用法以及技巧
2019/06/28 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
python实现超市商品销售管理系统
2019/11/22 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
业绩考核岗位职责
2014/02/01 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
体育个人工作总结
2015/02/09 职场文书
整改通知书
2015/04/20 职场文书
2016年寒假学习心得体会
2015/10/09 职场文书
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL