远离JS灾难css灾难之 js私有函数和css选择器作为容器

 更新时间:2011年12月11日 22:44:05   作者:  
当一个项目庞大到一定阶段,例如UI展示层采用了模块化模板化之后,就会出现js灾难,css灾难,经常出现以前从来不放在一起的两个js或css莫名奇妙的被放到了一个页面,基本的原因是模块重用造成的
尽管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>

相关文章

  • 基于jQuery实现Accordion手风琴自定义插件

    基于jQuery实现Accordion手风琴自定义插件

    这篇文章主要为大家详细介绍了基于jQuery实现Accordion手风琴自定义插件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 基于jquery的bankInput银行卡账号格式化

    基于jquery的bankInput银行卡账号格式化

    jquery bankInput插件是银行卡进行格式化显示,能控制文本框输入最小最大个数、控制只能输入数字、控制不能粘贴不能使用输入法。同时插件能实现自动加载格式化显示和支持非输入框的格式话显示
    2012-08-08
  • layui表格实现代码

    layui表格实现代码

    这篇文章主要为大家详细介绍了layui表格效果的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • jQuery获取复选框被选中数量及判断选择值的方法详解

    jQuery获取复选框被选中数量及判断选择值的方法详解

    这篇文章主要介绍了jQuery获取复选框被选中数量及判断选择值的方法,结合实例形式分析了jQuery操作复选框进行判定与统计的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2016-05-05
  • 使用jQuery实现按钮置灰不可用效果

    使用jQuery实现按钮置灰不可用效果

    在Web开发中,有时候我们需要在特定情况下将按钮置灰并设置为不可用状态,以防止用户重复点击或者暂时禁止某些操作,本文将介绍如何使用jQuery来实现这一效果,感兴趣的朋友跟着小编一起来看看吧
    2024-09-09
  • jquery实现界面点击按钮弹出悬浮框

    jquery实现界面点击按钮弹出悬浮框

    这篇文章主要为大家详细介绍了jquery实现界面点击按钮弹出悬浮框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • jQuery实现回到顶部效果

    jQuery实现回到顶部效果

    这篇文章主要为大家详细介绍了jQuery实现回到顶部效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • jQuery.extend 函数详解

    jQuery.extend 函数详解

    Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解
    2012-02-02
  • 理解jQuery stop()方法

    理解jQuery stop()方法

    本文目的:为了了解stop()的用法,举个例子,直观的方式看看。非常的简单实用,有需要的小伙伴参考下
    2014-11-11
  • 基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )

    基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )

    基于Jquery的回车成tab焦点切换效果代码(Enter To Tab ),需要的朋友可以参考下。
    2010-11-11

最新评论