js--27门面模式

简介:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type=text/javascript charset=utf-8 src=../commons/CommonUtil.js ></script>
        <script type=text/javascript charset=utf-8>
                // 门面模式的概念:简化API接口 最经典的就是事件
                // 做一件事情: 必须要调用2个函数分别是 a , b  
                /*
                function a(x){
                }
                function b(y){
                }
                function ab(x , y){
                    a(x);
                    b(y);
                }
                */
                
                // 现在有一个简单的需求: 获得页面上的元素 给得到的元素设置css样式
                // 需求发生变化:同时设置几个元素的css样式
                window.onload= function(){
                    // 给一个元素设置一个样式
                    var element = document.getElementById('div1');
                    element.style.color = 'red';
                    
                    // 给多个元素设置同样的样式
                    setStyle(['div1','div2','div3'],'color' , 'blue');
                    
                    // 给多个元素设置多种样式
                    setCss(['div1','div2','div3'],{
                        position:'absolute' ,
                        background:'green' ,
                        fontSize: '18px' ,
                        left:'100px'
                    });
                    
                };
                //简单的门面模式
                function setStyle(elementsId,prop,val){
                    for(var i=0;i<elementsId.length;i++){
                        document.getElementById(elementsId[i]).style[prop] = val ;
                    }
                }
                //门面模式的css方法
                function setCss(elementsId,options){
                    for(var prop in options){
                        if(!options.hasOwnProperty(prop)) continue;
                        setStyle(elementsId,prop,options[prop]);
                    }
                }
            
        </script>
    </head>
    <body>
        <div id="div1" >我是div1</div>
        <div id="div2" >我是div2</div>    
        <div id="div3" >我是div3</div>            
    </body>
</html>
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/6883771.html,如需转载请自行联系原作者

相关文章
|
3月前
|
JavaScript
|
3月前
|
JavaScript 前端开发
JS实现继承的6种方式
JS实现继承的6种方式
|
8月前
|
JavaScript 前端开发 C#
js代码如何封装
js代码如何封装
69 0
|
JavaScript Java
JS 的继承
每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针(constructor),而实例都包含一个原型对象的指针(constructor)并指向原想对象。 继承的本质就是复制,即重写原型对象,代之以一个新类型的实例 JS的继承给我独特的印象是, 在java中,继承是复制父类的一份给自己,即使自己把复制过来的东西弄坏了,也不会影响到父类那边的 而js中是通过原型继承,自己弄坏(修改)的,会直接影响到父类本身的东西
71 0
JS 的继承
|
前端开发 JavaScript
前端 js 继承的n种方式
前端 js 继承的n种方式
86 0
|
JavaScript 前端开发
JS中的继承(下)
JS中的继承(下) 在上一篇 JS中的继承(上) 我们介绍了3种比较常用的js继承方法,如果你没看过,那么建议你先看一下,因为接下来要写的内容, 是建立在此基础上的.另外本文作为我个人的读书笔记,才疏学浅,如有错误,敬请指正.
829 0
|
JavaScript 前端开发 Java
JS中的继承(上)
JS中的继承(上) 学过java或者c#之类语言的同学,应该会对js的继承感到很困惑--不要问我怎么知道的,js的继承主要是基于原型(prototype)的,对js的原型感兴趣的同学,可以了解一下我之前写的JS中的原型对象 相信很多同学也跟我一样,刚开始接触js的面向对象编程的时候,都抱着一种排斥...
842 0
|
JavaScript 前端开发
|
JavaScript 前端开发 Java
|
JavaScript 前端开发