あとで読む RSS

備忘録

Archive

Nov
8th
Sat
permalink
// FontChanger // Copyright (c) 2007 Hirotaka Ogawa // REQUIRES: prototype.js, cookiemanager.js FontChanger = Class.create(); FontChanger.prototype = { id: null, cookieManager: null, cookieName: ‘body.style.fontSize’, initialize: function(id) { this.id = id || ‘fontChanger’; this.cookieManager = new CookieManager(); var fontSize = this.cookieManager.getCookie(this.cookieName); if (fontSize) document.body.style.fontSize = fontSize; }, setCookieShelfLife: function(days) { this.cookieManager.cookieShelfLife = days; }, change: function(fontSize) { document.body.style.fontSize = fontSize; this.cookieManager.setCookie(this.cookieName, fontSize); }, reset: function() { document.body.style.fontSize = ”; this.cookieManager.clearCookie(this.cookieName); }, show: function() { var id = this.id; document.writeln([ ‘<div id=”’ + id + ‘”>’, ‘文字の大きさ: ‘, ‘<span style=”cursor: pointer; font-size: 80% ;” id=”’ + id + ‘-small” >小</span>’, ‘<span style=”cursor: pointer; font-size: 100%;” id=”’ + id + ‘-medium”>中</span>’, ‘<span style=”cursor: pointer; font-size: 120%;” id=”’ + id + ‘-large” >大</span>’, ‘</div>’ ].join(“\n”)); Event.observe($(id + ‘-small’ ), ‘click’, this.onClickSmall.bind(this)); Event.observe($(id + ‘-medium’), ‘click’, this.onClickMedium.bind(this)); Event.observe($(id + ‘-large’ ), ‘click’, this.onClickLarge.bind(this)); }, onClickSmall: function(e) { this.change(‘80%’ ); }, onClickMedium: function(e) { this.change(‘100%’); }, onClickLarge: function(e) { this.change(‘120%’); } }; // Bootstrap FontChanger.start = function(id) { var fontChanger = new FontChanger(id); fontChanger.show(); };