js观察者模式
2015-04-19 17:59
169 查看
<!DOCTYPE html> <html> <head> <meta charset=utf8> <title></title> <style type="text/css"> div{ width: 300px; height: 200px; border:1px solid #ccc; } </style> </head> <body> <select> <option value="male">男生风格</option> <option value="female">女生风格</option> </select> <div id="content">我是内容</div> <div id="ad">我是内容</div> <div id="study">问</div> </body> <script type="text/javascript"> // 服务端 var sel=document.getElementsByTagName('select')[0]; // 建个对象存储观察者 sel.observers={}; // 添加观察者 sel.attach=function(key,obj) { this.observers[key]=obj; } // 删除观察者 sel.detach=function(key) { delete this.observers[key]; } //给观察者发送信息,怎么发送?当sel改变的时候发送 sel.onchange=sel.notify=function(){ for(var key in this.observers) { this.observers[key].update(this); } } //客户端 var content=document.getElementById('content'); var ad=document.getElementById('ad'); // 观察者的update方法 content.update=function(observers){ if(observers.value=='male'){ this.style.backgroundColor='gray'; }else if(observers.value=='female') { this.style.backgroundColor='pink'; } } ad.update=function(observers) { if(observers.value=='male') { this.innerHTML='计算机'; }else if(observers.value=='female') { this.innerHTML='美容'; } } sel.attach('content',content); sel.attach('ad',ad); </script> </html>
相关文章推荐
- JS设计模式八:观察者模式
- JS设计模式 - 观察者模式与发布/订阅模式
- JS设计模式——观察者模式(通俗易懂)
- js观察者模式
- JS实现观察者模式
- 面向UI编程:ui.js 1.1 使用观察者模式完成组件之间数据流转,彻底分离组件之间的耦合,完成组件的高内聚
- (四)JS学习笔记 - 模式 - 观察者模式
- JS实现观察者模式
- js实现观察者模式风格替换
- JS 观察者模式
- JS实现观察者模式
- 【js设计模式笔记---观察者模式】
- js设计模式中发布与订阅实现观察者模式例子
- js之观察者模式
- JS-设计模式之观察者模式
- 前端基本知识(四):JS的异步模式:1、回调函数;2、事件监听;3、观察者模式;4、promise对象
- js观察者模式
- js实现观察者模式
- 【JS】观察者模式
- Js-JavaScript 观察者设计模式 Observer Pattern