<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2506739408133378598</id><updated>2011-11-28T09:29:41.376+09:00</updated><category term='大好きマウスくん'/><category term='資料'/><title type='text'>JavaScriptサンプル</title><subtitle type='html'>自作のプログラムを、JavaScriptのサンプルとしてご紹介しています。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-4955086351891069089</id><published>2008-12-06T20:11:00.000+09:00</published><updated>2008-12-06T20:11:01.303+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>ソースコードの最後</title><content type='html'>ソースコードの最後でload()をコールします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.load();&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;これで、初期化処理やブログパーツのhtml出力が行われます。&lt;br /&gt;&lt;br /&gt;以上で「大好きマウスくん」のソースコード解説を終わります。&lt;br /&gt;ありがとうございます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-4955086351891069089?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/4955086351891069089/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=4955086351891069089' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/4955086351891069089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/4955086351891069089'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/blog-post_06.html' title='ソースコードの最後'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-953995097289216261</id><published>2008-12-05T17:10:00.000+09:00</published><updated>2008-12-05T17:10:01.567+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>言語コードを調整する関数</title><content type='html'>つづいて、取得した言語コードを調整する関数です。&lt;br /&gt;言語コードはたくさんありますが「大好きマウスくん」で対応しているのは、日本語、英語、中国語のみです。また、配布サイトは日本語と英語のみです。&lt;br /&gt;そのため、他の言語コードを対応している言語コードに割り振る必要があります。&lt;br /&gt;その割り振りを行う関数です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.adjustLang = function(orgLang, kind) {&lt;br /&gt;　　var returnLang = 'en';&lt;br /&gt;&lt;br /&gt;　　switch (kind) {&lt;br /&gt;　　case 'widget':&lt;br /&gt;　　　　switch (orgLang) {&lt;br /&gt;　　　　　　case 'ja':&lt;br /&gt;　　　　　　case 'zh':&lt;br /&gt;　　　　　　　　returnLang = orgLang;&lt;br /&gt;　　　　　　　　break;&lt;br /&gt;　　　　}&lt;br /&gt;　　　　break;&lt;br /&gt;　　case 'site':&lt;br /&gt;　　default:&lt;br /&gt;　　　　switch (orgLang) {&lt;br /&gt;　　　　　　case 'ja':&lt;br /&gt;　　　　　　　　returnLang = orgLang;&lt;br /&gt;　　　　　　　　break;&lt;br /&gt;　　　　}&lt;br /&gt;　　　　break;&lt;br /&gt;　　}&lt;br /&gt;　　return returnLang;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;関数は以上です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-953995097289216261?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/953995097289216261/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=953995097289216261' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/953995097289216261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/953995097289216261'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/blog-post_05.html' title='言語コードを調整する関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-154616106122055750</id><published>2008-12-04T16:08:00.000+09:00</published><updated>2008-12-04T16:08:00.126+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='資料'/><title type='text'>言語コード一覧</title><content type='html'>&lt;pre&gt;&lt;code&gt;&lt;br /&gt;af　　Afrikaans&lt;br /&gt;sq　　Albanian&lt;br /&gt;ar-sa　　Arabic(Saudi Arabia)&lt;br /&gt;ar-iq　　Arabic(Iraq)&lt;br /&gt;ar-eg　　Arabic(Egypt)&lt;br /&gt;ar-ly　　Arabic(Libya)&lt;br /&gt;ar-dz　　Arabic(Algeria)&lt;br /&gt;ar-ma　　Arabic(Morocco)&lt;br /&gt;ar-tn　　Arabic(Tunisia)&lt;br /&gt;ar-om　　Arabic(Oman)&lt;br /&gt;ar-ye　　Arabic(Yemen)&lt;br /&gt;ar-sy　　Arabic(Syria)&lt;br /&gt;ar-jo　　Arabic(Jordan)&lt;br /&gt;ar-lb　　Arabic(Lebanon)&lt;br /&gt;ar-kw　　Arabic(Kuwait)&lt;br /&gt;ar-ae　　Arabic(U.A.E.)&lt;br /&gt;ar-bh　　Arabic(Bahrain)&lt;br /&gt;ar-qa　　Arabic(Qatar)&lt;br /&gt;eu　　Basque&lt;br /&gt;bg　　Bulgarian&lt;br /&gt;be　　Belarusian&lt;br /&gt;ca　　Catalan&lt;br /&gt;zh-tw　　Chinese(Taiwan)&lt;br /&gt;zh-cn　　Chinese(PRC)&lt;br /&gt;zh-hk　　Chinese(Hong Kong)&lt;br /&gt;zh-sg　　Chinese(Singapore)&lt;br /&gt;hr　　Croatian&lt;br /&gt;cs　　Czech&lt;br /&gt;da　　Danish&lt;br /&gt;nl　　Dutch(Standard)&lt;br /&gt;nl-be　　Dutch(Belgian)&lt;br /&gt;en　　English&lt;br /&gt;en-us　　English(United States)&lt;br /&gt;en-gb　　English(British)&lt;br /&gt;en-au　　English(Australian)&lt;br /&gt;en-ca　　English(Canadian)&lt;br /&gt;en-nz　　English(New Zealand)&lt;br /&gt;en-ie　　English(Ireland)&lt;br /&gt;en-za　　English(South Africa)&lt;br /&gt;en-jm　　English(Jamaica)&lt;br /&gt;en　　English(Caribbean)&lt;br /&gt;en-bz　　English(Belize)&lt;br /&gt;en-tt　　English(Trinidad)&lt;br /&gt;et　　Estonian&lt;br /&gt;fo　　Faeroese&lt;br /&gt;fa　　Farsi&lt;br /&gt;fi　　Finnish&lt;br /&gt;fr　　French(Standard)&lt;br /&gt;fr-be　　French(Belgian)&lt;br /&gt;fr-ca　　French(Canadian)&lt;br /&gt;fr-ch　　French(Swiss)&lt;br /&gt;fr-lu　　French(Luxembourg)&lt;br /&gt;gd　　Gaelic(Scots)&lt;br /&gt;gd-ie　　Gaelic(Irish)&lt;br /&gt;de　　German(Standard)&lt;br /&gt;de-ch　　German(Swiss)&lt;br /&gt;de-at　　German(Austrian)&lt;br /&gt;de-lu　　German(Luxembourg)&lt;br /&gt;de-li　　German(Liechtenstein)&lt;br /&gt;el　　Greek&lt;br /&gt;he　　Hebrew&lt;br /&gt;hi　　Hindi&lt;br /&gt;hu　　Hungarian&lt;br /&gt;is　　Icelandic&lt;br /&gt;in　　Indonesian&lt;br /&gt;it　　Italian(Standard)&lt;br /&gt;it-ch　　Italian(Swiss)&lt;br /&gt;ja　　Japanese&lt;br /&gt;ko　　Korean&lt;br /&gt;ko　　Korean(Johab)&lt;br /&gt;lv　　Latvian&lt;br /&gt;lt　　Lithuanian&lt;br /&gt;mk　　Macedonian&lt;br /&gt;ms　　Malaysian&lt;br /&gt;mt　　Maltese&lt;br /&gt;no　　Norwegian(Bokmal)&lt;br /&gt;no　　Norwegian(Nynorsk)&lt;br /&gt;pl　　Polish&lt;br /&gt;pt-br　　Portuguese(Brazilian)&lt;br /&gt;pt　　Portuguese(Standard)&lt;br /&gt;rm　　Rhaeto-Romanic&lt;br /&gt;ro　　Romanian&lt;br /&gt;ro-mo　　Romanian(Moldavia)&lt;br /&gt;ru　　Russian&lt;br /&gt;ru-mo　　Russian(Moldavia)&lt;br /&gt;sz　　Sami(Lappish)&lt;br /&gt;sr　　Serbian(Cyrillic)&lt;br /&gt;sr　　Serbian(Latin)&lt;br /&gt;sk　　Slovak&lt;br /&gt;sl　　Slovenian&lt;br /&gt;sb　　Sorbian&lt;br /&gt;es　　Spanish(Spain - Traditional Sort)&lt;br /&gt;es-mx　　Spanish(Mexican)&lt;br /&gt;es　　Spanish(Spain - Modern Sort)&lt;br /&gt;es-gt　　Spanish(Guatemala)&lt;br /&gt;es-cr　　Spanish(Costa Rica)&lt;br /&gt;es-pa　　Spanish(Panama)&lt;br /&gt;es-do　　Spanish(Dominican Republic)&lt;br /&gt;es-ve　　Spanish(Venezuela)&lt;br /&gt;es-co　　Spanish(Colombia)&lt;br /&gt;es-pe　　Spanish(Peru)&lt;br /&gt;es-ar　　Spanish(Argentina)&lt;br /&gt;es-ec　　Spanish(Ecuador)&lt;br /&gt;es-cl　　Spanish(Chile)&lt;br /&gt;es-uy　　Spanish(Uruguay)&lt;br /&gt;es-py　　Spanish(Paraguay)&lt;br /&gt;es-bo　　Spanish(Bolivia)&lt;br /&gt;es-sv　　Spanish(El Salvador)&lt;br /&gt;es-hn　　Spanish(Honduras)&lt;br /&gt;es-ni　　Spanish(Nicaragua)&lt;br /&gt;es-pr　　Spanish(Puerto Rico)&lt;br /&gt;sx　　Sutu&lt;br /&gt;sv　　Swedish&lt;br /&gt;sv-fi　　Swedish(Finland)&lt;br /&gt;th　　Thai&lt;br /&gt;ts　　Tsonga&lt;br /&gt;tn　　Tswana&lt;br /&gt;tr　　Turkish&lt;br /&gt;uk　　Ukrainian&lt;br /&gt;ur　　Urdu&lt;br /&gt;ve　　Venda&lt;br /&gt;vi　　Vietnamese&lt;br /&gt;xh　　Xhosa&lt;br /&gt;ji　　Yiddish&lt;br /&gt;zu　　Zulu&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-154616106122055750?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/154616106122055750/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=154616106122055750' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/154616106122055750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/154616106122055750'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/blog-post_04.html' title='言語コード一覧'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-4814321958250289630</id><published>2008-12-03T19:06:00.002+09:00</published><updated>2008-12-03T19:06:00.541+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>ユーザが使用している言語を取得する関数</title><content type='html'>つづいて、ユーザが使用している言語を取得する関数です。&lt;br /&gt;ユーザが使用している言語は、ブラウザやOSの設定によって、変えられます。&lt;br /&gt;それを取得して、説明画像を変えたり、Powered byのリンク先を変えたりしています。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.browserLang = function(defaultLang) {&lt;br /&gt;&lt;br /&gt;　　if (navigator.userLanguage) {&lt;br /&gt;　　　　return navigator.userLanguage.substr(0,2);&lt;br /&gt;　　} else if (navigator.browserLanguage) {&lt;br /&gt;　　　　return navigator.browserLanguage.substr(0,2);&lt;br /&gt;　　} else if (navigator.language) {&lt;br /&gt;　　　　return navigator.language.substr(0,2);&lt;br /&gt;　　} else {&lt;br /&gt;　　　　return defaultLang;&lt;br /&gt;　　}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ブラウザによって、取得方法が違うので、プロパティの有無を判別しつつ、ユーザの言語を取得します。&lt;br /&gt;substr(0,2)で最初の2文字のみ利用します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-4814321958250289630?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/4814321958250289630/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=4814321958250289630' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/4814321958250289630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/4814321958250289630'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/blog-post.html' title='ユーザが使用している言語を取得する関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-1783007634228319416</id><published>2008-12-02T18:04:00.000+09:00</published><updated>2008-12-02T18:04:00.716+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>2点間の距離を計算する関数</title><content type='html'>つづいて、2点間の距離を計算する関数です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.calcDistance = function(x1,y1,x2,y2) {&lt;br /&gt;　　var a, b, d;&lt;br /&gt;&lt;br /&gt;　　a = x1 - x2;&lt;br /&gt;　　b = y1 - y2;&lt;br /&gt;　　d = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));&lt;br /&gt;&lt;br /&gt;　　return d;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ピタゴラスの定理を利用して、距離を求めます。&lt;br /&gt;ピタゴラスの定理は「直角三角形の直角を挟む2辺の2乗の和は斜辺の2乗に等しい」です。&lt;br /&gt;なので、x座標の差の2乗とy座標の差の2乗を足した値のルートをとって、返します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-1783007634228319416?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/1783007634228319416/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=1783007634228319416' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1783007634228319416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1783007634228319416'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/2.html' title='2点間の距離を計算する関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-7366929252546868327</id><published>2008-12-01T18:04:00.000+09:00</published><updated>2008-12-01T18:04:00.166+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>エレメントのx,y位置を取得する関数</title><content type='html'>つづいて、エレメントのx,y位置を取得する関数です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.getX = function(e) {&lt;br /&gt;　　var x = 0;&lt;br /&gt;　　while(e) {&lt;br /&gt;　　　　x += e.offsetLeft;&lt;br /&gt;　　　　e = e.offsetParent;&lt;br /&gt;　　}&lt;br /&gt;　　return x;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.getY = function(e) {&lt;br /&gt;　　var y = 0;&lt;br /&gt;　　while(e) {&lt;br /&gt;　　　　y += e.offsetTop;&lt;br /&gt;　　　　e = e.offsetParent;&lt;br /&gt;　　}&lt;br /&gt;　　return y;&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;順に親ノードをたどり、x,y位置を足し込んでいって、エレメントのx,y位置を計算します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-7366929252546868327?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/7366929252546868327/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=7366929252546868327' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/7366929252546868327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/7366929252546868327'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/12/xy.html' title='エレメントのx,y位置を取得する関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-7135613613853421969</id><published>2008-11-30T18:02:00.000+09:00</published><updated>2008-11-30T18:02:01.702+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>スクロール量取得関数</title><content type='html'>以降は、共通関数群です。&lt;br /&gt;まず、水平スクロール量を取得する関数です。&lt;br /&gt;マウスカーソル位置を取得する際に使っています。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.getHorizontalScroll = function() {&lt;br /&gt;　　if (window.innerWidth) {&lt;br /&gt;　　　　// All browsers but IE&lt;br /&gt;　　　　return window.pageXOffset;&lt;br /&gt;　　} else if (document.documentElement &amp;&amp; document.documentElement.clientWidth) {&lt;br /&gt;　　    // IE6 when there is a DOCTYPE&lt;br /&gt;　　　　return document.documentElement.scrollLeft;&lt;br /&gt;　　} else if (document.body.clientWidth) {&lt;br /&gt;　　    // IE4, IE5, and IE6 without a DOCTYPE&lt;br /&gt;　　　　return document.body.scrollLeft;&lt;br /&gt;　　}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ブラウザやブラウザのバージョンによって、取得方法が違いますので、プロパティの有無で判断し、それぞれ適切なものを返します。&lt;br /&gt;&lt;br /&gt;次は、垂直スクロール量を取得する関数です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.getVerticalScroll = function() {&lt;br /&gt;　　if (window.innerWidth) {&lt;br /&gt;　　　　// All browsers but IE&lt;br /&gt;　　　　return window.pageYOffset;&lt;br /&gt;　　} else if (document.documentElement &amp;&amp; document.documentElement.clientWidth) {&lt;br /&gt;　　    // IE6 when there is a DOCTYPE&lt;br /&gt;　　　　return document.documentElement.scrollTop;&lt;br /&gt;　　} else if (document.body.clientWidth) {&lt;br /&gt;　　    // IE4, IE5, and IE6 without a DOCTYPE&lt;br /&gt;　　　　return document.body.scrollTop;&lt;br /&gt;　　}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;こちらも、ブラウザやブラウザのバージョンによって、取得方法が違いますので、プロパティの有無で判断し、それぞれ適切なものを返します。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-7135613613853421969?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/7135613613853421969/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=7135613613853421969' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/7135613613853421969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/7135613613853421969'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post_30.html' title='スクロール量取得関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-8066115996910293596</id><published>2008-11-29T18:00:00.000+09:00</published><updated>2008-11-29T18:00:01.512+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>500ms割込処理</title><content type='html'>つづいて、500ms割込処理です。&lt;br /&gt;キャラクター画像は、マウスカーソルに向かって動いたり、止まったりします。&lt;br /&gt;その制御を行います。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.interrupt500ms = function() {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;interrupt500msプロパティに500msの割込処理を行う関数リテラルを設定します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var obj = cc_huu_tools_bp_20081024;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;オブジェクト名が長いので、obj変数に入れて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (obj.buttonEnableCnt &gt; 0) {&lt;br /&gt;　　　　obj.buttonEnableCnt--;&lt;br /&gt;　　　　if (obj.buttonEnableCnt == 0) {&lt;br /&gt;　　　　　　document.getElementById('clickButtonId').disabled = false;&lt;br /&gt;　　　　}&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;この処理はStartボタンをエネーブルにするタイミングを計るための処理です。&lt;br /&gt;キャラクター画像は、Startボタンクリック時にbodyの子ノードに変更されます。&lt;br /&gt;ページがロード中にbodyの内容を変更すると、IEにおいて、エラーが発生するようです。&lt;br /&gt;そのため、Startボタンがクリック可能になるのは、割込処理が動作し始めたあと、3秒たってからにしています。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (!obj.buttonOnOffFlag) {&lt;br /&gt;　　　　return;&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Startボタンが押されていない状態では何もしません。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (Math.random() &lt; obj.move.probability) {&lt;br /&gt;　　　　obj.command = 'move';&lt;br /&gt;　　} else {&lt;br /&gt;　　　　obj.command = 'stop';&lt;br /&gt;　　}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;一定の確率でobj.commandをmoveにしたりstopにしたりします。&lt;br /&gt;50ms割込処理で、この情報を参照し、キャラクター画像を進めたり、止めたりしています。&lt;br /&gt;&lt;br /&gt;以上が500ms割込処理です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-8066115996910293596?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/8066115996910293596/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=8066115996910293596' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/8066115996910293596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/8066115996910293596'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/500ms.html' title='500ms割込処理'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-1189509823621698849</id><published>2008-11-28T16:58:00.000+09:00</published><updated>2008-11-28T16:58:00.976+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>50ms割込処理</title><content type='html'>つづいて50ms割込処理です。&lt;br /&gt;ここでは、おもにキャラクターの画像を動かす処理を行います。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.interrupt50ms = function() {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;interrupt50msプロパティに50msの割込処理を行う関数リテラルを設定します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var obj = cc_huu_tools_bp_20081024;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;オブジェクト名が長いので、obj変数に入れて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (!obj.buttonOnOffFlag) {&lt;br /&gt;　　　　return;&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Startボタンが押されていない状態では何もしません。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (obj.command != 'move') {&lt;br /&gt;　　　　return;&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクターを動かすモードでなければ、何もしません。&lt;br /&gt;obj.commandは500msの割込処理で更新されます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var x, y;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像の位置。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var tempX, tempY;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスカーソルとキャラクター画像の位置の差。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var angle;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像を動かす角度。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　x = parseInt(obj.imageImg.style.left.replace('px',''));&lt;br /&gt;　　y = parseInt(obj.imageImg.style.top.replace('px',''));&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のスタイルから現在位置を取得します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　tempX = obj.mousePosition.x;&lt;br /&gt;　　tempY = obj.mousePosition.y;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスカーソルの位置を取得します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　tempX -= x + obj.imageSize.width / 2;&lt;br /&gt;　　tempY -= y + obj.imageSize.height / 2;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスカーソルとキャラクター画像の中心との距離を計算します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (obj.calcDistance(0,0,tempX,tempY) &lt; 4) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;距離が4ピクセル未満なら&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.imageImg.style.left = obj.mousePosition.x - obj.imageSize.width / 2 + 'px';&lt;br /&gt;　　　　obj.imageImg.style.top = obj.mousePosition.y - obj.imageSize.height / 2 + 'px';&lt;br /&gt;　　　　return;&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;カーソルの位置にキャラクター画像の中心を合わせてリターンします。&lt;br /&gt;&lt;br /&gt;距離が4ピクセル以上なら、以降の処理を行います。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　angle = Math.atan2(tempX,tempY);&lt;br /&gt;　　if (angle &lt; 0) {&lt;br /&gt;　　　　angle = Math.PI + (Math.PI + angle);&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;角度を計算します。&lt;br /&gt;X,Y座標の角度を得るためには、Math.atan2メソッドを使用します。&lt;br /&gt;そして、angleが負の場合は調整しています。&lt;br /&gt;この4行は、多分間違えて書いてしまっています。正しくは、&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　angle = Math.atan2(tempY,tempX);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;の1行でよいと思います。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　x += obj.move.step * Math.sin(angle);&lt;br /&gt;　　y += obj.move.step * Math.cos(angle);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;角度と1回で進む最大ピクセルからx,y方向の進む量を計算し、現在の位置に足し込みます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　x = parseInt(x + 0.5);&lt;br /&gt;　　y = parseInt(y + 0.5);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;四捨五入します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　obj.imageImg.style.left = x + 'px';&lt;br /&gt;　　obj.imageImg.style.top = y + 'px';&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のstyleにセットし、移動させます。&lt;br /&gt;&lt;br /&gt;以上が50ms割込処理です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-1189509823621698849?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/1189509823621698849/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=1189509823621698849' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1189509823621698849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1189509823621698849'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/50ms.html' title='50ms割込処理'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-5524041581168355473</id><published>2008-11-27T17:56:00.000+09:00</published><updated>2008-11-27T17:56:00.250+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>Start/Stopボタンクリック時処理</title><content type='html'>つづいて、Start/Stopボタンクリック時の処理です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.buttonClick = function() {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;buttonClickプロパティにマウスムーブ時の処理を行う関数リテラルを設定します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var obj = cc_huu_tools_bp_20081024;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;オブジェクト名が長いので、obj変数に入れて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (!obj.buttonOnOffFlag) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;このフラグは、キャラクター画像が動いている時にonになっていますので、ここは、Startボタンが押された時の処理です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　var x, y;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像の位置。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　if (!obj.imageImg) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のエレメントが保存されているか。すなわち、最初にStartボタンが押された時の処理になります。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　　　obj.imageImg = document.getElementById('imageImgId');&lt;br /&gt;　　　　　　obj.explanationImg = document.getElementById('explanationImgId');&lt;br /&gt;　　　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;最初にStartボタンが押された時に、キャラクター画像と説明画像ののエレメントを保存します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　x = obj.getX(obj.imageImg);&lt;br /&gt;　　　　y = obj.getY(obj.imageImg);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のエレメントの位置を取得します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　if (!obj.parentNode) {&lt;br /&gt;　　　　　　obj.parentNode = obj.imageImg.parentNode;&lt;br /&gt;　　　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像の親ノードを保存します。キャラクター画像のエレメントは、動いている時はbodyの子ノードになり、止まっている時は、この親ノードの子ノードに戻します。そのため、ここで親ノードを保存しておきます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　document.getElementsByTagName('body')[0].appendChild(obj.imageImg);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のエレメントをbodyの子ノードにします。&lt;br /&gt;&lt;br /&gt;ここで問題があります。&lt;br /&gt;&lt;br /&gt;キャラクター画像のエレメントをbodyの子ノードにしていますので、Startボタンクリック時にbodyの内容を変更することになります。ドキュメントのロードが完了していない場合、IEにおいて、bodyの内容を変更するとエラーが発生するようです。&lt;br /&gt;&lt;br /&gt;そのため、Startボタンがクリック可能になるのは、割込処理が動作し始めたあと、3秒たってからにしています。これは、500ms割込処理で制御しています。&lt;br /&gt;&lt;br /&gt;オライリーのJavaScript第5版には、割込処理はドキュメントの変更が可能になってからコールされるとの記述がありますが、IEに関しては駄目のようです。&lt;br /&gt;&lt;br /&gt;現在のロジックでも、ドキュメントのロードの遅いページで、すばやくStartボタンをクリックすると、IEにおいてエラーが発生してしまいます。&lt;br /&gt;&lt;br /&gt;どなたか、よい解決方法をご存知の方、ご教授いただけないでしょうか？&lt;br /&gt;&lt;br /&gt;bodyの子ノードにしないという方法も試してみましたが、上位のノードでoverflow属性がhidden等に設定されていると、表示されなくなるという、別の問題が発生してしまいました。&lt;br /&gt;&lt;br /&gt;悩ましいところです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.imageImg.style.position = "absolute";&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のpositionを絶対位置指定にします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.imageImg.style.left = x + 'px';&lt;br /&gt;　　　　obj.imageImg.style.top = y + 'px';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;先ほど、求めたキャラクター画像のx,yをセットします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.buttonOnOffFlag = true;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;buttonOnOffFlagをonにします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.explanationImg.src = &lt;br /&gt;　　　　　　obj.explanationImageFileName2 + obj.lang.widget + obj.explanationImageFileExtension;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像を動作中のものにします。言語コードによって画像が違うのでobj.lang.widgetを利用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　document.getElementById('clickButtonId').innerHTML = obj.buttonName.stop;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンの文字をStopに代えます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　} else {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ここからは、動作中にボタンが押された場合、すなわち、Stopボタンクリック時の処理です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.imageImg.style.position = "relative";&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;positionを相対位置に戻します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.imageImg.style.left = '';&lt;br /&gt;　　　　obj.imageImg.style.top = '';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;位置をクリアします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.parentNode.insertBefore(&lt;br /&gt;　　　　　　obj.imageImg, obj.explanationImg);&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のエレメントを説明画像の前に挿入します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.buttonOnOffFlag = false;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;buttonOnOffFlagをoffにします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　obj.explanationImg.src = &lt;br /&gt;　　　　　　obj.explanationImageFileName1 + obj.lang.widget + obj.explanationImageFileExtension;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像を動作していない時のものにします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　document.getElementById('clickButtonId').innerHTML = obj.buttonName.start;&lt;br /&gt;　　}&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンの文字をStartにします。&lt;br /&gt;以上が、ボタンがクリックされた時の処理です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-5524041581168355473?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/5524041581168355473/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=5524041581168355473' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/5524041581168355473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/5524041581168355473'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/startstop.html' title='Start/Stopボタンクリック時処理'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-978430968968724101</id><published>2008-11-26T18:46:00.000+09:00</published><updated>2008-11-26T18:46:00.697+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>マウスムーブイベントハンドラ</title><content type='html'>つづいて、マウスムーブイベントハンドラ関数です。ロード時処理で登録したので、マウスが動くとこの関数がコールされます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.processMouseMove = function(e) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;processMouseMoveプロパティにマウスムーブ時の処理を行う関数リテラルを設定します。引数eにはEventオブジェクトが渡されますので、マウスカーソルの位置を特定できます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var obj = cc_huu_tools_bp_20081024;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;オブジェクト名が長いので、obj変数に入れて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (!e) {&lt;br /&gt;　　　　e = window.event;&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;IEの場合、他とイベントモデルが異なるため、Eventオブジェクトが渡されない場合もあります。その場合は、グローバルのEventoオブジェクトを参照します。attachEventで登録されたイベントハンドラにはEventオブジェクトが渡されますので、今回の場合、この処理はなくても大丈夫のはずです(未確認)。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　obj.mousePosition.x = &lt;br /&gt;　　　　e.clientX + obj.getHorizontalScroll();&lt;br /&gt;　　obj.mousePosition.y = &lt;br /&gt;　　　　e.clientY + obj.getVerticalScroll();&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスカーソルの位置を保存します。EventオブジェクトのclientX,clientYは、ドキュメントのスクロール分が反映されてませんので、obj.getHorizontalScroll()とobj.getVerticalScroll()でスクロール分を計算し、反映させます。&lt;br /&gt;&lt;br /&gt;以上が、マウスムーブイベントハンドラです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-978430968968724101?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/978430968968724101/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=978430968968724101' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/978430968968724101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/978430968968724101'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post_26.html' title='マウスムーブイベントハンドラ'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-6724194703940815502</id><published>2008-11-25T22:32:00.010+09:00</published><updated>2008-11-25T22:32:00.859+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>ロード時の処理を行う関数</title><content type='html'>つづいて、ロード時の処理を行う関数です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.load = function() {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;loadプロパティにロード時の処理を行う関数リテラルを設定します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var obj = cc_huu_tools_bp_20081024;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;オブジェクト名が長いので、obj変数に入れて使用します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var i;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;カウンタです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var imageUrl;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ユーザが指定したキャラクター画像のURLを格納します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　var language;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;未使用。削除し忘れたようです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　obj.lang.widget = obj.adjustLang(obj.browserLang(obj.lang.widget), 'widget');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像用の言語を取得。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　obj.lang.site = obj.adjustLang(obj.browserLang(obj.lang.site), 'site');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Powered byリンク用の言語を取得。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　for (i=0;i&amp;lt;document.getElementsByTagName("script").length;i++) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ユーザが指定したキャラクター画像のURLを取得するために、ドキュメントのscriptタグ数分ループします。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　if (document.getElementsByTagName("script")[i].src.indexOf(obj.url) &gt;= 0) {&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;scriptタグが自分かどうか判定します。判定方法は自分のURLが含まれているかどうかです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　　　imageUrl = &lt;br /&gt;　　　　　　　　document.getElementsByTagName("script")[i].src.match(/\?image=(\S{0,200})/)[1];&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;scriptタグが自分のものなら、ユーザが指定したキャラクター画像のURLを取得します。matchメソッドで?image=以降の文字列を取得します。文字は最大200文字。matchメソッドが返す配列の0番目ではなく、1番目に?image=以降の文字列が格納されています。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　　　　　if (imageUrl) {&lt;br /&gt;　　　　　　　　obj.imageFileName = imageUrl;&lt;br /&gt;　　　　　　}&lt;br /&gt;　　　　}&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ユーザ指定のキャラクター画像URLがありなら、初期値と差し替えます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　document.write('&lt;ｉｍｇ src="' + obj.imageFileName + '" id="imageImgId" ');&lt;br /&gt;　　document.write(' height="' + obj.imageSize.height + '" ');&lt;br /&gt;　　document.write(' width="' + obj.imageSize.width + '" &gt;');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のhtmlを出力。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　document.write('&lt;ｉｍｇ src="' + obj.explanationImageFileName1 + &lt;br /&gt;　　　　obj.lang.widget + obj.explanationImageFileExtension + '" id="explanationImgId" ');&lt;br /&gt;　　document.write(' height="' + obj.explanationSize.height + '" ');&lt;br /&gt;　　document.write(' width="' + obj.explanationSize.width + '" &gt;');&lt;br /&gt;　　document.write('&lt;br&gt;');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像のhtmlを出力。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　switch (obj.lang.site) {&lt;br /&gt;　　case 'ja':&lt;br /&gt;　　　　document.write('&lt;ａ href="' + obj.poweredBy + '" id="poweredByLinkId" target="_blank" &gt;');&lt;br /&gt;　　　　break;&lt;br /&gt;　　default:&lt;br /&gt;　　　　document.write('&lt;ａ href="' + obj.poweredBy + obj.lang.site + '/" id="poweredByLinkId" target="_blank" &gt;');&lt;br /&gt;　　　　break;&lt;br /&gt;　　}&lt;br /&gt;　　document.write('Powered by Hida&lt;/ａ&gt;&amp;nbsp;');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Powered byのリンクのhtmlを出力。リンク先は配布ページ。言語コードでディレクトリを分けるようにしているが、日本語だけ特別なので、switch文を使用している。でもまだ、英語ページと日本語ページしかない。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　document.write('&lt;ｂｕｔｔｏｎ type="button" id="clickButtonId" disabled ');&lt;br /&gt;　　document.write(' onclick="cc_huu_tools_bp_20081024.buttonClick()" &gt;');&lt;br /&gt;　　document.write(obj.buttonName.start + '&lt;/button&gt;');&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンのhtmlを出力。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　document.getElementById('poweredByLinkId').style.fontSize = 'small';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Powered byリンクの文字をsmallに。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　if (document.addEventListener) {&lt;br /&gt;　　　　document.addEventListener('mousemove', obj.processMouseMove, false);&lt;br /&gt;　　} else if (document.attachEvent) {&lt;br /&gt;　　　　document.attachEvent('onmousemove', obj.processMouseMove);&lt;br /&gt;　　}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスムーブイベントを受け取るために、イベントハンドラを登録。IEと他のブラウザではメソッドが異なるため、if文で分けています。attachEventがIE用です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;　　setInterval(obj.interrupt50ms,50);&lt;br /&gt;　　setInterval(obj.interrupt500ms,500);&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;50ms割込処理と500ms割込処理を登録します。&lt;br /&gt;これで、ロード時処理関数は終了です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-6724194703940815502?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/6724194703940815502/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=6724194703940815502' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/6724194703940815502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/6724194703940815502'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post_25.html' title='ロード時の処理を行う関数'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-5900634715518455395</id><published>2008-11-24T15:16:00.001+09:00</published><updated>2008-11-24T15:16:00.727+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>オブジェクトの作成とプロパティの初期化</title><content type='html'>つづいて、ブログパーツ本体側のmouse.jsです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;var cc_huu_tools_bp_20081024 = {};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;まず、全体を格納するオブジェクトを作成します。&lt;br /&gt;変数名が長くなっているのは、他とかぶらないようにするためです。&lt;br /&gt;平凡な名前をつけてしまうと、ブログ側のJavaScriptとかぶってしまう可能性があり、そうなった場合、都合が悪いためです。&lt;br /&gt;&lt;br /&gt;また、全ての変数はこのオブジェクトのプロパティとします。これも他のスクリプトとかぶらないようにするためです。&lt;br /&gt;&lt;br /&gt;以降、プロパティの初期化が続きます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.version = '1.2.0';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;バージョン番号プロパティの作成です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.poweredBy = 'http://tools.huu.cc/mouse/';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Powered by Hidaの表示のリンク先を格納するプロパティ。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.url = 'http://tools.huu.cc/mouse/mouse.js?image=';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ブログパーツJavaScriptのURL。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.imageFileName = 'http://tools.huu.cc/mouse/mouse.gif';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像のURL。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.explanationImageFileName1 = &lt;br /&gt; 'http://tools.huu.cc/mouse/explanation1_';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;動作前の説明画像のURLの拡張子を除いた部分。画像は、ユーザの国によって異なります。URLの拡張子の前には言語コードが入ります。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.explanationImageFileName2 = &lt;br /&gt; 'http://tools.huu.cc/mouse/explanation2_';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;動作中の説明画像のURLの拡張子を除いた部分。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.explanationImageFileExtension = '.gif'&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像の拡張子。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.mousePosition = {x: 0, y: 0};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;マウスカーソルの位置を格納します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.imageImg;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクターの画像のエレメントを格納します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.imageSize = {height: 64, width: 64};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像の大きさです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.explanationImg;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像のエレメントを格納します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.explanationSize = {height: 64, width: 156};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;説明画像の大きさです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.parentNode;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャラクター画像の親ノードのエレメントを格納します。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.buttonOnOffFlag = false;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンがスタートなのかストップなのかを表します。&lt;br /&gt;Startと表示されている時は、false。Stop時はtrueです。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.buttonEnableCnt = 7;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンがエネーブルになるまでのカウント数です。&lt;br /&gt;500ms割込処理でカウントダウンされます。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.buttonName = {start: 'Start', stop: 'Stop'};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ボタンの表示用名称です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.command = 'stop';&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;キャタクターを動かしたり、止めたりするのに使う、状態です。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.move = {step: 4, probability:0.5};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;stepは、キャラクターが1回で移動する最大ピクセル数。&lt;br /&gt;probabilityは、キャラクターが移動する確率。&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;cc_huu_tools_bp_20081024.lang = {widget:'en', site: 'en'};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;ユーザの言語コードを格納します。初期値は英語。&lt;br /&gt;説明画像は、日本語、英語、中国語対応。Powered byのリンク先は日本語と英語。2種類ありますので、widgetとsiteと2つ持ちます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-5900634715518455395?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/5900634715518455395/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=5900634715518455395' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/5900634715518455395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/5900634715518455395'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post_24.html' title='オブジェクトの作成とプロパティの初期化'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-1133191277901701932</id><published>2008-11-23T14:59:00.005+09:00</published><updated>2008-11-23T14:59:00.804+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>ブログに設置する側のコード</title><content type='html'>では、ソースコードを1行ずつ解説します。&lt;br /&gt;&lt;br /&gt;まず、ブログに設置する側のコードです。&lt;br /&gt;(表示の都合上、全角です)&lt;br /&gt;&lt;br /&gt;&lt;ｓｃｒｉｐｔ　ｔｙｐｅ="ｔｅｘｔ/ｊａｖａｓｃｒｉｐｔ"　ｓｒｃ="ｈｔｔｐ://ｔｏｏｌｓ.ｈｕｕ.ｃｃ/ｍｏｕｓｅ/ｍｏｕｓｅ.ｊｓ？ｉｍａｇｅ="&gt;&lt;/ｓｃｒｉｐｔ&gt;&lt;br /&gt;&lt;br /&gt;JavaScriptでかかれていますのでtypeは"text/javascript"です。srcでJavaScriptのURLを指定します。&lt;br /&gt;キャラクターの画像は差し替え可能ですので、?image=で画像のURLを受け取れるようにします。(差し替え時は?image=の後に画像のURLが入ります)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-1133191277901701932?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/1133191277901701932/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=1133191277901701932' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1133191277901701932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/1133191277901701932'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post_3916.html' title='ブログに設置する側のコード'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2506739408133378598.post-9027662730188945036</id><published>2008-11-22T15:01:00.006+09:00</published><updated>2008-12-17T21:39:04.066+09:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='大好きマウスくん'/><title type='text'>ソースコードと全体の構成</title><content type='html'>大好きマウスくんとは、「大好きマウスくん」というキャラクターが、マウスカーソルを追いかけるというブログパーツです。&lt;br /&gt;キャラクターの画像は差し替え可能です。&lt;br /&gt;&lt;br /&gt;このブログのサイドバーの左上に設置しています。&lt;br /&gt;&lt;br /&gt;詳しくはこちら→&lt;a href="http://tools.huu.cc/mouse/"&gt;大好きマウスくん配布ページ&lt;/a&gt;&lt;br /&gt;ソースコードはこちら→&lt;a href="http://tools.huu.cc/mouse/mouse_org.js"&gt;大好きマウスくんソースコード&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;このソースコードを順に説明していきます。&lt;br /&gt;&lt;br /&gt;全体の構成はこうなっています。&lt;br /&gt;&lt;br /&gt;・ブログパーツロード時処理…ブログパーツを表示させるためのhtml文を作成したり、割込処理の登録等、初期化処理を行います。&lt;br /&gt;・マウスムーブ時処理…マウスカーソルが動いた時の処理を行います。&lt;br /&gt;・ボタンクリック時処理…スタート/ストップボタン押下時の処理を行います。&lt;br /&gt;・50ms割込処理…キャラクターの移動処理を行います。&lt;br /&gt;・500ms割込処理…キャラクターの移動を許可したり、止めたりします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2506739408133378598-9027662730188945036?l=tools-huu-cc.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tools-huu-cc.blogspot.com/feeds/9027662730188945036/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2506739408133378598&amp;postID=9027662730188945036' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/9027662730188945036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2506739408133378598/posts/default/9027662730188945036'/><link rel='alternate' type='text/html' href='http://tools-huu-cc.blogspot.com/2008/11/blog-post.html' title='ソースコードと全体の構成'/><author><name>ひだ</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
