配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ
こんにちは、太田です。前回はクロスブラウザの入口として、各ブラウザの特徴をまとめつつ、実際にクロスブラウザなコードを紹介しました。今回はクロスブラウザ対策における基本である、各ブラウザ環境の構築について解説したいと思います。 前回紹介した通りブラウザにはたくさんの種類・バージョンがあります。それぞれが動作する環境を用意するだけでも、一苦労ではすみません。なるべく少ないマシンで、各バージョンをインストールして、さらにデバッグするための環境作りについて紹介します。なお、Safari以外はWindows環境を想定しています。さらに、特に断りがない限りはWindows XP SP3をベースに解説させていただきます。ご了承ください。 各ブラウザのデバッグ環境は近年目覚しいほどの進化を遂げています。統合デバッグ環境の草分けであるFirebugを筆頭に、Safari/Chrome(WebKit)のWeb
Movable Type 5(以下MT5)では、テンプレート編集画面でCodeMirrorというオープンソースのコードエディタを採用しているのですが、いかんせんMT5は最先端すぎるのか、画面を開くのに時間がかかるし、編集中も重い。かといって設定で無効にできないので、強制的に無効にしてみましょう。 MT5(今回、MT5.01を対象として解説しています。)のテンプレート編集画面のテンプレートファイル「mt/tmpl/cms/edit_template.tmpl」を以下の様に編集します。(編集は自己責任でお願いします。) 742行目辺りのcodemirror.jsの参照を無効にし、テキストエリアのスタイルを調整します。以下ソースコードの青字の行を挿入してください。 </form> <mt:ignore> <script type="text/javascript" src="<$mt:var n
LightningTalk at Kanasan.JS, Japanese Javascript Users Group Meeting http://groups.google.co.jp/group/kanasanjs/web/kanasan-js-javascript52-lightning-talk
div要素で配置した矩形に、シンプルなボーダーや角丸、フェードのボーダーをスタイリングするスクリプトをroydukkeyから紹介します。 DivCorners デモページ ボーダーは矩形の内側と外側に指定して配置することが可能で、ボーダー自体の幅や高さを指定してスタイリングすることができます。 上記キャプチャは、外側(outside)のデモです。 スクリプトの現在の仕様では、角丸やフェードのボーダーには画像が使用されており、下記のイメージで実装されています。
こんにちは。開発部でインターフェースエンジニアをやっております油井(あぶい)です。ライブドアでは主にjavascriptを中心としたクライアントサイド側の開発をやっております。 今回は裏jQueryと題しまして、普段から単にユーザーとして使っているだけでは決して知ることができないjQueryの裏技を紹介したいと思います。 注意 この記事で扱うjQueryは最新版の1.4で動かすことを前提としています(一つ前のバージョンである1.3.2でも動くことは検証済みです)。サンプルで使うjQueryセレクタの書き方は「jQuery」で統一しています。「$」に置き換えて読んでもらってもかまいません。 はじめに - jQueryで扱うイベントやトリガー javascriptがふんだんに使われた画面遷移の発生しないウェブアプリケーションではブラウザ上で発生するイベントやトリガーをうまく扱いこなすということ
jQueryのAPIを眺めてて、「そういえばこのサンプルで実行するiframe、実際にファイルがあるのかな?それともJavaScriptで動的に作ってるのかな?」と思って確認したのでメモメモ。 確認してみたらやっぱりJavaScriptで動的にiframe作ってるみたいですね。 (サンプルコードのhtmlをいくつも作るの大変だから当たり前なのかしら?) たまにブログとかにJavaScriptのサンプルコードを書いてそれを実行したくなるときがあるのでその時用。ブログのプレビューとかも最近こうやってるiframe動的に作ってるんでしょうねぇ。 方法 <code class="demo-code">っていうタグを用意してその中にJavaScriptのコードを記述 id指定ではなく、class指定なのは複数のコードを実行したいとき用ですよね 出力結果を入れる空div、<div class="cod
jQueryプラグインの魅力は、JavaScriptの知識がなくても簡単に色々な機能を実装できることですね。今回は「誰でも簡単に実装できるツールチッププラグイン」を作成してみましょう。 ツールチッププラグインの要件は以下の通りです。 titleまたはalt属性がある要素を対象 titleとalt属性両方を持っている場合はtitleを優先 対象要素にマウスオーバーでツールチップをフェードイン 対象要素からマウスアウトでツールチップをフェードアウト 対象要素上ではツールチップはカーソルに追従 まずは完成サンプルとソースコードを見てみましょう。 完成ソースコード // ここからツールチッププラグイン $.fn.easyToolTip = function(options){ // toolTipを生成してbodyに追加しておく var toolTip = $('<div id="toolTip"
hide_email PHPでメールアドレスを画像化せずに簡単にスパム対策する方法です。 方法というよりも関数が公開されていて、次のように非常に簡単に使うことができます。 <?php echo hide_email('test@test.com'); ?> hide_email 関数に 自分のメールアドレス を渡すだけです。 これだけで、次のようにメールアドレスがクリックできる形で表示されます。 [javascript protected email address] HTMLに出力されるコードは以下です。 <SPAN id=e282852682>[javascript protected email address]</SPAN> <SCRIPT type=text/javascript>/*<![CDATA[*/eval("var a=\"PcXq@l82y.H3I_zNAtLQbr7
Accommodation type Holiday homes (6341) Apartments (2521) Hotels (560) Guest houses (338) Bed & Breakfasts (306) Inns (161) Campsites (104) Lodges (99) Holiday parks (76) Homestays (49) Chalets (44) Villas (44) Luxury tents (30) Aparthotels (30) Country houses (19) Hostels (17) Farm stays (8) Resorts (6) Motels (4) Botels (4) Capsule hotels (4) Vacation Rentals (8284) Extended Stay (8270) Luxury a
Javascriptでボタンを押すとテキストエリアの高さが可変するものを作っています。 IE6やoperaでは動くのですがFirefox3やその他のブラウザでは動きません。 以下にソースを示しますので、おかしい箇所の指摘・アドバイスをお願いします。 function height_change(type){ if(type=="up"){ height_size = document.getElementById("edit").clientHeight+50; }else if(type=="dw"){ height_size = document.getElementById("edit").clientHeight-50; } document.getElementById("edit").style.height = height_size; } ※実際に動作させた上でのご回答をお
日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く