タグ

JavaScriptとTipsに関するwackyのブックマーク (320)

  • Automatic colored rows - Example for BiteSize Standards

    By using this site, you agree to the Privacy Policy and Terms of Use, and the use of cookies. If you do not consent to cookies please delete or disable them in your browser

    Automatic colored rows - Example for BiteSize Standards
    wacky
    wacky 2006/04/26
    テーブルの背景色を1行ずつ変えてストライプにするシンプルなJavaScriptコード。
  • memo.xight.org - リンクをマウスオーバーでサムネイルをポップアップ

    Source function linkthumb(){ var nophoto = 'http://img.simpleapi.net/img/nophoto.gif'; var img = document.createElement('img'); img.src = nophoto; img.onmouseout = function(){ img.src=nophoto; img.style.display='none'; }; img.style.position = 'absolute'; img.style.cursor = 'pointer'; img.style.display = 'none'; document.body.appendChild(img); var d = document.getElementsByTagName('div'); for (var

    wacky
    wacky 2006/04/20
    指定ページのサムネイルを作成する「Simple API」を利用した技。リンクにマウスを乗せるとリンク先のサムネイルが表示される。
  • 川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方

    JavaScript での変数を使った文字列の作成は何かとめんどくさいですね。prototype.js では 1.5_pre0 から Template という簡易テンプレートとして使えるクラスが加わりました。相変わらずドキュメントはソースと test 嫁なので簡単な使い方を紹介します。 まずは Template となる文字列を new Template で作ります。Template のリテラルは #{}です*1 。 var t = new Template('#{foo}, #{bar}!');次に作成した Template インスタンスの evaluate 関数を呼び出し、引数として Hash(Object) を渡します。 t.evaluate({ foo: 'hello', bar: 'world' }); // hello, world!もしテンプレートを使い回さず、一度限りの文字列

    川o・-・)<2nd life - prototype.js 1.5 からの新機能 Template の使い方
    wacky
    wacky 2006/04/20
    prototype.jsの簡易テンプレート「Template」オブジェクトの説明。
  • IT戦記 - Shibuya.js Technical Talk #1 を終えて。

    皆様のお話し、とても勉強になりました。そして、楽しかったです。 自分自身にこのような機会を与えてくれた、id:secondlife さん及び Shibuya.js の皆様に感謝します。 また、別のテーマでも話せる機会があれば、ぜひ、挑戦してみたいと思います。 これからも、amachang をよろしくお願いします。 資料をアップしました。 http://sample.ecmascript.jp/20060414.ppt

    IT戦記 - Shibuya.js Technical Talk #1 を終えて。
    wacky
    wacky 2006/04/18
    実戦的なJavaScript高速化Tips集のプレゼン資料。setIntervalの最適化、DOMの最適化、prototype.jsの遅い関数など。必読。
  • inforno :: $$で属性セレクタ

    これはかなり嬉しい機能だなあ。 最近Prototype.jsの$$で属性セレクタが使用できるようになりました。 どんな風にかけるのか、コードをテストから引っ張ってきてみました。 1$$('a[href="http://inforno.net/#"]') 2$$('a[class~=internal]') 3$$('*[xml:lang|="es"]') 4$$('*[xml:lang|="ES"]') 5$$('a[href!=#]') 6$$('div[style] p[id] strong') 7$$('a[class~=external][href="http://inforno.net/#"]') こんな感じです。 値はクオートしてもしなくても大丈夫っぽいですね。 すばらすい。inputに対する操作なんかで特に便利。今までちょっとボタン操作するためだけに、そのボタンにIDふったりク

    wacky
    wacky 2006/04/02
    prototype.js 1.5.0の$$( )による属性セレクタは、値をクォートしてなくてもOK。
  • codejanitor ≫ AJAX Timeouts with Prototype

    Make 24 monthly payments Pay 0% interest Start using the domain today. See details

    codejanitor ≫ AJAX Timeouts with Prototype
    wacky
    wacky 2006/03/25
    Ajaxのリクエストを任意の時間でタイムアウトさせる。prototype.jsを使った場合のサンプルコード。(英語)
  • Understanding AJAX

    IntroductionAJAX, or Asynchronous JavaScript and XML, is a technique used to create dynamic and interactive web applications. Usually, it's mistaken as a technology, when in fact it's a method of using several different technologies together. What is AJAX?AJAX as a technique, allows a web page to update itself without requiring a full page reload. Furthermore, this is achieved by requesting the se

    wacky
    wacky 2006/03/19
    Cookieの値を取得するgetCookie関数にちょっと注目。正規表現とdecodeURIComponent( )を組み合わせる方法。
  • [就職・転職] All About | 就職転職のノウハウ

    大学生には、社会人になる心構え、仕事・会社の選び方、選考対策など、満足する就職活動の進め方を解説。社会人には、転職の仕方、職種別の転職ノウハウや派遣、在宅ワークなどの働き方別の働き方ノウハウなどを事例を交えながら分かりやすく解説。

    [就職・転職] All About | 就職転職のノウハウ
    wacky
    wacky 2006/02/27
    document.write()で無理やりbodyを出力してDOM操作を可能にする。うーん、なんだかなぁ。
  • 文字列外部化による JavaScript 高速化についての考察 - IT戦記

    JavaScript において、文字列を外部化することで当に高速化できるのかについて考察してみました。 まず、以下のコードを用いて IE 6.0 SP2, Opera 8.5, Firefox 1.5.0.1 でテストしてみます。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Language" content="ja" /> <titl

    文字列外部化による JavaScript 高速化についての考察 - IT戦記
    wacky
    wacky 2006/02/27
    IE6では、ループの中に文字列リテラルを記述すると実行速度が遅くなるらしい。(Firefox / Operaでは問題なし)
  • Truncate HTML Text with JavaScript Automatically

    Truncate Text with JavaScript Automatically This article describes what I think is a clever way of automatically truncating the text of a paragraph: Truncate the text to a length of your choosing Do not truncate in the middle of a word (only on a word boundary) Keep the page search-engine friendly by publishing the complete non-truncated text Add an ellipsis to the end of the truncated text Make t

    wacky
    wacky 2006/02/22
    Webページに「続きを読む」機能を簡単に付加するJavaScriptコード。
  • length プロパティのパフォーマンス: Days on the Moon

    「for 文 2.0」(IT戦記) では length プロパティの評価をループの外に出すことにより高速化を図っています。DOM の NodeList オブジェクト (document.getElementsByTagName() などで取得) や HTMLCollection オブジェクト (document.forms などで取得) の length プロパティは「生きている」(オブジェクト取得後の操作が反映される) 、すなわち誤解を恐れずいえば評価のたびに数えなおす必要があるので遅いというのも納得ですが、JavaScript のネイティブオブジェクトである配列の length プロパティはどうなのでしょうか。実際に調べてみました。 以下は 10000 個の span 要素に対する NodeList オブジェクトと配列の length プロパティのパフォーマンスを調べた結果です。数値は

    wacky
    wacky 2006/02/21
    各ブラウザにおけるlengthプロパティのパフォーマンスを検証。NodeListでは影響大だが、Arrayでは気にしなくても良いかも。(↓の関連記事)
  • for 文 2.0(笑) - IT戦記

    まぁ、かなり知られてる話ですが JavaScript は .(ドット) の計算がかなり遅い。まぁ、簡単なスクリプトなら問題にならないが。web2.0的には大違いなのであります。ちなみに、.(ドット) の計算に比較演算の 3 倍のコストがかかる(IEはとくに)。 ということで、for 文は下のように(比較に .(ドット) を使わない)書くくせをつけましょう。地道な差が大きなパフォーマンスを生みます。 // for 文 2.0 for(var i = 0, len = array.length; i < len; i++) { .... }各種ライブラリの for 文 1.0 を for 文 2.0 化するだけで、CPU 使用率がけっこう下がりました。 予断ですが、間違っても .(ドット) を避けるために with 文を使うようなことはやめてください。 with 文のコストは 比較演算の 8

    for 文 2.0(笑) - IT戦記
    wacky
    wacky 2006/02/21
    .(ドット)演算子のパフォーマンスの悪さを考慮して、for文の条件でlengthプロパティを毎回参照しないようにするテクニック。
  • JavaScriptにおけるコントロール名としてのブラケット (大括弧) の利用 - memo.xight.org

    Summary PHP で フォームの値を配列として受け取りたい場合, 以下のように記述するが,JavaScript で値を受け取る場合にちょっと面倒. <input name="hoge[]" /> <input name="hoge[]" /> name が hoge[0],hoge[1] ... の場合 <input name="hoge[0]" /> <input name="hoge[1]" /> JavaScript で hoge[1] の値を取得したい. 以下の場合,配列として認識されてしまう. document.forms[0].hoge[1].value; elements を用いて解決. document.forms[0].elements["hoge[1]"].value; name が hoge[],hoge[] ... の場合 <input name="hoge[

    wacky
    wacky 2006/02/21
    PHPでフォームの値を配列として受け取るために <input name="xxx[]"> とした場合のJavaScriptからのアクセス方法。リンク先ではname属性に使える文字種の話についても言及。
  • 今日から使える JavaScript カスタム関数トップ 10

    今日から使える JavaScript カスタム関数トップ 10 2006-02-13-2: [JavaScript] - Top 10 custom JavaScript functions of all time http://www.dustindiaz.com/top-ten-javascript すぐにでも使える,気の利いた JavaScript の関数を 10 個紹介. - 10) addEvent() イベントリスナーを登録する関数.クロスブラウザ対応.結構有名. - 9) addLoadEvent() クロスブラウザな window.onload.onload する関数が幾つもある場合に. - 8) getElementsByClass() クラス名から要素を取得する関数.prototype.js にも getElementsByClassName() という名前である. p

    wacky
    wacky 2006/02/21
    すぐにでも使える、気の利いたJavaScriptの関数を10個紹介。
  • getter/setter メソッド - (new Hatena).blog()

    オブジェクトの変数の状態について、「知る」・「設定する」の両方を行うメソッドを思いついたので、メモしておきます (まぁ多分良く知られてる方法なんだろうなとは思いますが)。 initialize: function () { this.__stack = false; }, prefer_stack: function (prefer) { return (this.__stack = prefer != undefined ? prefer : this.__stack); }具体的にどういう事かと言いますと、一般的なジョブの処理に関して、スタックとして処理するか、キューとして処理するかを、どのように設定したり知らせたりするのが良いか、ということを考えていたんです。 で、思いついたのが上の prefer_stack というメソッドです。 引数の有無によって、スタックとして「扱いたい」という

    getter/setter メソッド - (new Hatena).blog()
    wacky
    wacky 2006/02/07
    (エントリ末尾)「もし関数が定義されていれば呼び出す」という処理のエレガントな書き方。
  • テキストエリアでリターンキーを押した際に、submitイベントの発生を抑止する方法 - Enjoy*Study

    テキストエリアでのリターンキーで、submitイベントが発生しないようにする場合、ブラウザ毎にどのような処理を書けばいいのか調べてみました。(submitイベント自体に処理を追加せずに、テキストエリアでのイベントで制御したかったので) テキストエリアでのリターンを拾えるイベントとしては、下記の3つがあります。 keypress keydown keyup イベントをキャンセルする方法は、IEのJScriptの実装と、DOM 2のEventモデルでの実装である下記の2パターンを試しました。 event.preventDefault() event.returnValue=false そして確認の結果、上記のイベント×キャンセル処理の組み合わせでsubmitイベントがキャンセル出来るのは、下記のパターンとなりました。 IE 6 keydown - event.returnValue=false

    テキストエリアでリターンキーを押した際に、submitイベントの発生を抑止する方法 - Enjoy*Study
    wacky
    wacky 2006/02/06
    テキストエリアでのリターンキー押下で発生するsubmitをキャンセルするやり方。IE6、Firefox1.5、Opera8.5でのクロスブラウザな処理方法。prototype.jsを使うとOperaではうまく処理できないとの事。
  • 川o・-・)<2nd life script.aculo.usのファイルサイズを軽減

    http://www.goodpic.com/mt/archives2/2006/02/ajax.html で紹介されてる通り、script.aculo.usは通常のロードではファイルサイズが100KBを超えます。しかし、それはフルでロードしたときの容量なのです。script.aculo.usはロードするパッケージを選ぶことができる*1ので必要な機能だけを選べば良いのです。例えば、たいていの場合はscript.aculo.usのeffects.jsだけしか使わなかったりするので <script src="/js/scriptaculous.js?load=effects" type="text/javascript"></script> とすればOK。これでファイルサイズは34KBに収まります。また、二つ以上のパッケージを選択したい場合は <script src="/js/scriptac

    川o・-・)<2nd life script.aculo.usのファイルサイズを軽減
    wacky
    wacky 2006/02/04
    script.aculo.usでロードするパッケージを選択する方法。src="/js/scriptaculous.js?load=effects,dragdrop"
  • 配列の先頭の要素を取得する - FAX

    配列の先頭の要素を取得する 練習 var a = []; a[15] = 150; a[20] = 200; ok( void(0) === a[0]); ok( void(0) === a.slice(0,1)[0] ); ok( void(0) === a.shift() ); ok( car(a) == 150 ); function car(a){ for(var i in a) return a[i]; } Permalink | コメント(0) | トラックバック(0) | 08:20

    wacky
    wacky 2006/01/29
    JavaScript配列の先頭の要素を取得するためのコード。必ずしも a[0] で取得できるわけではないため。
  • IEBlog

    Internet Explorer Team Blog We've moved! Find us at the new Microsoft Edge Dev Blog As we announced last week, with the reveal of Microsoft Edge we are archiving the IEBlog. Future... Date: 05/08/2015 Microsoft Edge is the browser for Windows 10 This morning, Joe Belfiore took to the stage at Build 2015 to share more about the next chapter in... Date: 04/29/2015 Announcing improvements to Enterpri

    IEBlog
    wacky
    wacky 2006/01/20
    IE7ではSELECT要素がz-indexを無視するバグが解消されるとのこと。
  • hbkr | Lightbox JSにフェードインエフェクトをかけてみる

    Lightbox JSとscript.aculo.usを組み合わせてみた。 左のサムネイルをクリックしてみてください。大きな画像がふわーっとフェードインで表示されます(IEのバージョンによっては動かないぽい)。 やり方はとても簡単。 195行目付近に objLightbox.style.display = 'none'; new Effect.Appear(objLightbox, {duration:0.6}); てのと 224行目付近に objOverlay.style.display = 'none'; new Effect.Fade(objLightbox, {duration:0.6, afterFinish: function() {objLightbox.style.display = 'none';}}); てな感じのを適当に入れるだ

    wacky
    wacky 2006/01/17
    Lightbox JSで画像をポップアップ表示するとき・閉じるときにscript.aclo.usを組み合わせてエフェクトをかける。