作成:2013/07/1 更新:2014/11/01 Web制作 > 先日ECサイトを制作したときに、動きのあるサイトにしないといけなかったので、色々調べて組み込んでみたんですが、jQueryでもう何でも出来ちゃいますね。近い将来ローカルで画像なんかを編集しなくても、ブラウザだけで色々できるようになるんじゃないでしょうか。今回は定番からちょっとマイナー(Google Analytics関係とか)なものまでjQueryの小技、プラグインを集めさせていただきました。 エンジニア速報は Twitter の@commteで配信しています。 もくじ スクロール 1.ページ内リンク/フッターまわり/トップに戻る 2.パララックス スライド 3.カルーセル 4.レスポンシブなスライダー 5.ヌルヌルサクサクなスライドメニュー 6.サムネイル付きクロスフェードスライドショー 補助 7.Google Ana
ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由を調べてみました。 1.はじめに TwitterやPocketなどのソーシャルボタンのコードをみると、共通してscript要素の中にあるfunctionの前に「!(エクスクラメーション)」がついています。 Twitterの場合 <a href="https://twitter.com/share" class="twitter-share-button" data-via="yujiro" data-lang="ja" data-size="large">ツイート</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getE
##スマフォwebページのスライドメニュー アプリでは当たり前のように実装されているスライドメニューですが、webページではなかなか使い心地のよいスライドメニューが実装されているのは見かけません。 スマートフォンのブラウザではjavascriptでのアニメーションはどうしてもガタガタになってしまうし、ちらつきやスクロール制御のめんどくささからもうwebページでネイティブアプリ並のスライドメニューを実装するなんて無理と思っていました。 Facebookのwebページですらボタンの反応は悪いしアニメーションも動かないし最悪です。 ##一方Google先生はパーフェクトなスライドメニューを実装していた さすがGoogle先生! 俺達に出来ないことを( Googleのスライドメニューは以下の点でパーフェクトです。 スライドのアニメーションがとても滑らか・ちらつかない ボタンの反応にストレスを感じな
外部サイトのJSファイルを読み込むときに、こういう書き方するのはやめましょう。 <script src="http://example.com/js/jquery.js"></script> 理由 あなたのサイトが、いつの日かSSLに対応することになったとき、そのscriptタグがバグの原因になります。 ご覧のとおり、HTTPSページの中でHTTP要素を読み込もうとすると、ブラウザによっては安全装置が働いて読み込んでくれないのです。 上の例ではjQueryの読み込みに失敗していますが、エラーメッセージ「Uncaught ReferenceError: jQuery is not defined 」を見てもHTTPS/HTTPのプロトコルが原因だとはすぐ気づかないので、わかりにくいバグになってしまいます。 結論 JSファイル(とかCSSとか画像とか)を読み込むときは、"http:"の部分を省
初心者向けの本とかだと、イベントを jQuery オブジェクトの後に直接指定する、 $('.foo').click(); のような書き方で説明されている場合が多いけど、少し複雑なことをしようとするとそれだと困ることが出てきます。そんなときに便利なのが on() を使ったイベント設定です。 on() ひとつで bind() live() delegate() を表せる jQuery 1.7 で、bind() live() delegate() がすべて on() に統合されたそうです。 つまり on() の書き方によって、3 パターンの使い方ができるということです。 .foo という要素をクリックしたら何かするという例で、イベントの設定と削除の方法をそれぞれ書いてみます。 bind() $('.foo').bind('click', function(){...}); は $('.foo')
そろそろ「テンプレート文字列」を使用しても問題なくなってきたので、こちらを使用しまよう。 テンプレート文字列 - JavaScript | MDN Multi-line strings in JavaScript and Node.js 面白い記述のしかたを発見。 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> <style> .title{ width:100%; height:240px; line-height:240px; text-al
JZoopraxiscope - jQuery plugin for making animations from static images. 一枚の画像を高速にスライドさせてアニメーション表示する「JZoopraxiscope」 次のような横長の画像を高速に横にスライドさせることでアニメーションさせてしまうものです。 ブラウザプラグイン不要で好きなサイズでアニメーションさせられます。 GIFアニメでもなく、FlashでもHTML5のvideoでもないアニメーション実装方法として知っておいてもよさそう 関連エントリ WEBデザイナーなら見ておくべきCSS3のアニメーションチュートリアル アニメ映画のようなロゴアニメーションを実現するjQueryアニメーションプラグイン「SuperScrollRama」 CSS3アニメーションをjQueryで使いやすくするプラグイン「jQuery Tran
ちょっとはまったので、まとめとく。 きっかけ 元々の発端は、イベント関連の処理をしていて、FirefoxではaddEventListenerしたとき、 つまりobj.addEventListener(func, 'click', false);という処理を書くと 呼び出し先(func)のthisにobjが入ってくるわけだが、 IEでは、attachEvent先のthisがnullになるという仕様(?)になっている。*1 obj.attachEvent(func, 'onclick'); function func(){ alert(this); // null /* thisを使った処理をかく。 * 例えばotherObj === this は常にnulなためfalseになる */ } これだと、呼び出し先で、呼び出さし元のオブジェクトがわからないためDOM操作などができなくなり。困った困
Home Subscribe var obj = { name : 'pikachu', say : function(){ alert('I am ' + this.name); } } setTimeout(obj.say, 1000); // => 'I am'とだけ表示される。 これは期待通りに動いてくれません。 コールバックとしてメソッドを渡した場合、それはオブジェクトと切り離された単なる関数(メソッドではない)となってしまうのです。 つまり下記と等価なのです。 setTimeout( function(){alert('I am ' + this.name);} , 1000); 関数がオブジェクトと切り離されているため、このthisはグローバルオブジェクト(windowオブジェクト)を指してしまっており、'I am'とだけ表示されます。 ではどうすればよいでしょうか? bin
WYSIWYGを実装するjQueryのプラグイン、jQuery TEのご紹介です。WYSIWYGエディタの割に軽量との事です。触って見たいけど時間無いので備忘録的にメモ。 jQueryでWYSIWYGエディタを実装する、というもの。サイズは16KBと、WYSIWYGエディタの割には軽量なのではないかと思います・・でも、他のをあまり良く知らない。 ロゴがなんとなく公式っぽい感じがしますけど・・jQueryのアカウントのGithubには無いから違うのかな。 シンプルな設計で使いやすい印象ではあります。 ライセンスはMITとGPLのデュアルライセンスです。ドキュメントも充実していますのでチェックしてみては。 jQuery TE
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く