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

尽管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>

时间: 2025-01-19 10:10:06

远离JS灾难css灾难之 js私有函数和css选择器作为容器_jquery的相关文章

JS 代码实例:实现随机加载不同的CSS样式

核心提示:随机载入CSS样式的JS效果实际上很好实现,随后在载入时进行随机替换,因为最先载入的default.css样式是直接写在页面上,而JS随机载入的后面CSS文件会覆盖之前的CSS,只要CSS中的元素名称相同即可. 随机载入CSS样式的JS效果实际上很好实现,本文的代码如下,具体思路是用一个默认的CSS样式:default.css.另外再用三个其他名称的CSS:skin1.css,skin2.css,skin3.css.当然你可以用更多的样式表,随后在载入时进行随机替换,因为最先载入的de

JS代码实例:实现随机加载不同的CSS样式

随机载入CSS样式的JS效果实际上很好实现,本文的代码如下,具体思路是用一个默认的CSS样式:default.css.另外再用三个其他名称的CSS:skin1.css,skin2.css,skin3.css.当然你可以用更多的样式表,随后在载入时进行随机替换,因为最先载入的default.css样式是直接写在页面上,而JS随机载入的后面CSS文件会覆盖之前的CSS,只要CSS中的元素名称相同即可. var Init = {        //样式表文件目录路径baseSkinUrl : "/bl

12345-如何把html做成jsp并抽取其中的css样式和js

问题描述 如何把html做成jsp并抽取其中的css样式和js 如何把html做成jsp并抽取其中的css样式和js 样式和js都要求分包,格式清晰谢谢 解决方案 html和jsp中的css js隔离,也就是使用外部引入文件,写法一样.只是路径需要修改而已.JSP项目:jsp页面都是放在WEB-INF目录下,外部不允许直接访问目录下文件css js 一般会放在与WEB-INF同目录下所有jsp页面需要通过${ctx}获取项目路径,再访问css js文件 以下为设置el表达式,${ctx}的方法尖

原生js判断css动画结束 css 动画结束的回调函数

原文:原生js判断css动画结束 css 动画结束的回调函数 css3 的时代,css3--动画 一切皆有可能:   传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,JavaScript仍然能捕获动画或变换的结束事件:   transitionend事件和animationend事件标准的浏览器事件,但在WebKit浏览器里你仍然需要使用webkit前缀,所以,我们不得不根据各种浏览器分别检测事件 var transitions = { 'transition':

图片按比例缩小(css强制)js代码

<html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312" /> <title>图网页特效代码</title> <style> <!-- ,很多情况下,不用这种方法,会增加ie负荷.--&

JS教程:学习笔记之JS类

背景:接触JavaScript快两年了.从最开始对她充满着好奇,到现在的学习了许多关于她的框架.朋友问我:都有这么多框架,你为何还要去学最底层的面向对象呢?其实这个问题:另一个朋友已经替我回答了.无论以后框架在怎么变,只要了解底层的原理,学起来都是很容易上手的.好了,我们开始学习了. 1.    创建对象: var obj = new Object();//第一种方式. var obj = {};//第二种方法.顺带一句可以通过var arr = [] 来创建数组 2.    给对象的属性赋值

在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法_jquery

easyUI是jquery的一个插件,是民间的插件.easyUI使用起来很方便,里面有网页制作的最重要的三大方块:javascript代码.html代码和Css样式.我们在导入easyUI库后,可以直接复制粘贴里面的代码,从而简单轻便地初步设置网页. 首先导入easyUI函数库: <link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css">

jquery及js实现动态加载js文件的方法_javascript技巧

本文实例讲述了jquery及js实现动态加载js文件的方法.分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的.除了document.write外,还有没有其他的比较好的动态加载js文件的方法. 解决方法: 1.jquery方法 $.getScript("./test.js"); //加载js文件 $.getScript("./test.js",function(){ //加载test.js,成功后,并执

tween.js 用户指南 - 与 Three.js 配合使用的补间动画库

tween.js 用户指南 - 与 Three.js 配合使用的补间动画库 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Learning Three.js - Tween.js for Sm