クリックで開閉するアコーディオンをjQueryを使って作成する方法と、サンプルプログラムの配布。
![初心者にも分かる!なアコーディオンの作り方](https://cdn-ak-scissors.b.st-hatena.com/image/square/f13e5464e0d82de86861f6a1e7d4f3f9015075e1/height=288;version=1;width=512/https%3A%2F%2Fsyncer.jp%2Fstorage%2Fjavascript%2Faccordion-content%2Fstatic%2Fdst%2Feyecatch_og.png)
offsetメソッドを使って、要素の「ドキュメント上の相対位置」を取得/設定する基本的な方法を説明する。 ← 前回 連載 INDEX 次回 → 要素のドキュメント上の表示位置を取得/設定するには、offsetメソッドを利用します(ただし、不可視の要素に対しては動作しません)。なお、類似のメソッドにpositionメソッドがありますが、これは現在の要素の親要素からの相対位置を取得するためのもので、機能が異なります(次回のTIPSで詳しく説明します)。 要素の表示位置を取得する まずは、位置情報を取得する方法からです。以下は、指定された要素(=<div id="child">要素)の位置情報を表示するサンプルです。
画面上に設置したボタンを連続でクリックされた場合に予期しない挙動を引き起こす事が良くあります。 そういう場合の対応方法についてメモしておきます。 基本的に対応する方法としては以下の様な方法があります。 ボタンのdisabled属性をtrueにする フラグを設置してクリックされたらフラグをfalseに設定してイベント処理されないようにバイパスする 以下はjQueryベースで連続クリックされた場合にフラグを使用して判定する方法です。 jQueryサンプル // 連続クリック防止フラグ var clickFlg = true; jQuery(function($) { $(".button").on("click", function() { if(clickFlg) { // イベント処理中はフラグをoffにします。 clickFlg = false; // クリック処理を実施 } else
このサイトは、WebGLのライブラリ「Three.js」の入門サイトです。 初学者から学べるように基本から解説しつつ、発展的な内容までまとめています。このサイトを通して、ウェブの3Dのインタラクションデザインについて学んでいきましょう。 Three.js概要 Three.jsは、HTML5で3Dコンテンツを制作するためのJavaScriptライブラリです。Mr.doob氏が中心となって開発されており、オープンソースソフトウェアとして個人・商用でも無償で利用できます。 WebGLだけで3D表現をするためには、立方体1つ表示するだけでも多くのJavaScriptやGLSLコードを書く必要があり専門知識も必要です。Three.jsを使えばJavaScriptの知識だけで簡単に3Dコンテンツが作成できるため、手軽に扱えるようになります。 もともと2000年代後半のFlashの時代から、ウェブの3D
ページ内リンクをスマートにするsmoothScroll.js ページ内リンクをスムーズに行うjsライブラリ、smoothScroll.jsを作成したので公開します。 どういったものかはサンプルで確認してください。 <a href="#header">ページの先頭に戻る</a> などのページ内リンクをスムーズな移動に変更します。 これにより、エンドユーザーがページが遷移したという錯覚におちいることはありません。 設置方法は簡単です。 smoothScroll.jsをダウンロードして、設置したいページで取りこみます。 <script type="text/javascript" src="./smoothScroll.js"></script> 特定のリンクはスムーズさせない smoothScroll.jsは#(ハッシュ)付きのリンクを全てスムーズスクリプトに変換します。他のライブラリなどで#
レスポンシブWebデザインではおもにウィンドウサイズによってレイアウトを変更していきますが、画像はHTMLとCSSだけでは最適化するのが難しいです。 backgroundプロパティであればメディアクエリで切り替えられますが、imgタグで指定したい場合には使えません。また、srcset属性を使えばウィンドウサイズや解像度によって画像を切り替えることができますが、IEはまったく対応していないので専用のプラグインを読み込む必要があります。 そこで使用しているのが、jQueryで画像ファイル名の一部を置換して表示する画像を切り替える方法です。 ウィンドウサイズを検知して画像ファイル名を置換する HTML側は.js-image-switchのついているimg要素のファイル名を以下のように変更して表示を切り替えていきます(ここでは仮に768pxとします)。.js-image-switchにはCSSでス
JavaScriptを使った初歩的なテクニック。マウスオーバーした際に画像を切り替える方法を紹介します。 使用するのはJavaScriptの[on mouse]属性です。 今回は[onmouseover]と[onmouseout]を使い、それぞれ、画像にマウスカーソルが乗ったとき(マウスオーバー)と画像からポインタが離れたとき(マウスアウト)の動作を指定していきます。 具体的な例としてサンプルのコードを書いてみましょう。 <a href="https://on-ze.com"> <img src="images/sample-01.png" onmouseover="this.src='images/sample-02.png'" onmouseout="this.src='images/sample-01.png'" /> </a> コードの中の[this]は、「イベントが発生した場所」
某所より要望があったので作りました。 ソースと使い方 ソースです。jQueryは別途用意してください。 $(document).ready(function() { $(".view_timer").each(function(index, target) { var startDate = $(this).attr("data-start-date"); var endDate = $(this).attr("data-end-date"); var nowDate = new Date(); if (startDate) { startDate = new Date(startDate); } else { startDate = nowDate; } if (endDate) { endDate = new Date(endDate); } if (startDate <= nowD
3.2.5.9 data-* 属性を使った独自非表示データの組み込み 独自データ属性は、名前空間に属さない属性で、その名前は文字列 "data-" で始まり、ハイフンの後に少なくとも一文字が続きます。これは XML 互換で、ASCII 大文字 を含みません。 HTML ドキュメントの HTML 要素のすべての属性は自動的に小文字に変換されますので、ASCII 大文字に関する制約はこのようなドキュメントには影響を及ぼすことはありません。 独自データ属性は、適切な属性や要素がない場合に、ページやアプリケーションに固有の独自データを格納することを想定したものです。 これらの属性は、この属性を使うサイトと無関係のソフトウェアによる利用を想定していません。 例えば、音楽に関するサイトなら、各トラックの尺を含んだ独自データ属性を使って、アルバムのトラックを表すリスト項目を注記することができるでしょう。
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
jQueryでのポップアップウィンドウといえば、ThickboxやLightBoxの様なモーダルウィンドウタイプが主流になってきていますが、そうではない単純な『target=”_blank”』『window.open』タイプのブラウザ別枠型ポップアップウィンドウ(ウィンドウサイズの指定やウィンドウリサイズ指定有り)をjQueryで実現させる方法の紹介。 サンプルでは指定を加えるリンクに対してclassを付ける構成にしておきます。 (リンクに対してclass=”popup”を付けたものに対して指定を効かせます。) HTMLは以下のような記述に。 ◆HTML <a href="リンク先" class="popup">リンクテキスト</a> そしてスクリプトの記述は以下。 ◆SCRIPT $(function() { $(".popup").click(function(){ window.op
jquery.cookie.jsを使うと、JavaScriptからクッキーの書き込み&取得が簡単に行えるようになるんだけど、何故かmax-ageが無く、expiresでしか有効期限の設定が出来ないため、最も短い期間でも1日となる。 秒・分・時で制御する場合はnew Date()からsetTime()でミリ秒指定しなければならなかったので、プラグインの基本的な使い方と一緒にメモっとく。 -プラグインはこちら- https://github.com/carhartl/jquery-cookie // 書き込み方 $.cookie('名前', '値'); // 読み込み方 $.cookie('名前'); $.cookie('ありえない名前'); // 存在しない場合は undefindedが返る // 削除 $.removeCookie('名前'); // 有効期限の設定:日数指定 $.cook
今さらな感じもしますが、使う機会があったので忘れないように記事にしておきます。以前使ったことがあるのですが、そのときの記憶がほとんどなかったので、こういうのは残しておいたら自分のためにもなりますね。 まず、jQueryとjquery.cookieを読み込みます。ともにCDNになっているのでこちらでいいと思います。 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> jquery.cookieを自分でダウンロードされる方はこちらから。
iframe内のコンテンツサイズに応じて、frameの高さを動的に変更する方法 docFrame.contentDocument.body.scrollHeight でも docFrame.contentWindow.document.body.scrollHeight でもサイズ取得できた。contentWindowがw3c基準でない。 動作確認バージョン IE9 Chrome 39.0 FireFox 33 <!DOCTYPE HTML> <html> <script type="text/javascript"> <!-- function change_frame_height(frm){ var contentsHeight; var docFrame = document.getElementById(frm); try{ contentsHeight = docFrame.c
スマホサイト制作に必要だったので忘れないようにメモ。時間が空いたときにきちんと整理。 スマホやパッドなどでJavaScript[jQuery]を実行したくないときに使います。今回は端末認証ですがOSでもいけるでしょう。 記述もHTML内・JSファイル内の両方で可能。 【plugin.js内記述】条件判定でスマホとタブレットでJSの実行禁止 単純にifを利用し、もしiPhone/Android/iPadでなければ実効するといったものです。 利用したいjQueryなどのソースを以下の記述で囲めばOK。 if(!navigator.userAgent.match(/(iPhone|iPad|Android)/)){ //ここから以下へ実行するJavascriptを記述 ・・・・・ //ここまで } 【HTMLヘッド内記述】条件判定でスマホとタブレットでJSの実行禁止 js内に記述するのと利用方法
最近JavaScriptの読み込みや実行の記述を、ページ最後の body 終了タグ直前で行っている場合をよくみかける気がしたので、理由を調べてみました。個人的になるほどと思ったことや誤解していた事があり、常識的なところなのかもしれないですがまとめてみました。 1. Webページの表示速度を早くする この理由は一番分かりやすく重要なところだと思います。javascriptを読み込んでいる間は、HTMLファイルの読み込みが止まってしまう為、HTMLファイルをほぼ全部読み込んで表示された後javascriptを読み込む方が表示速度が早くなります。 以下の参考サイトがとてもわかりやすいです。 2. 並列ダウンロードの妨げになってしまう これは1.の「表示速度を早くする為」の1つを掘り下げた感じになるかもしれませんが、ブラウザ側では表示速度を上げるために、サーバーから画像等をダウンロードする際には1
今さら聞けないjQuery実行パターンまとめ :: 5509(+1) noriさんのブログでまとめられていた「.ready()」などのjQueryの実行パターンについてのまとめ。jQueryの書き出しに書かれる.ready()メソッドや$(function(){~});などを「おまじない」とか「最初に書いておくもの」なんて言われたり見て覚えていた人が多いんじゃないかなって思うのですが、こういうまとめがあるとわかりやすくていいですね。 十分ではあるのですが、僕なりの補足を入れておこうかなと思ったので紹介も兼ねてエントリー 慣習的に書く理由 この「$(document).ready(function(){~});>」や「$(function(){~});」はjQueryのスクリプトを書くときの最初に、慣習的に書くもので、「おまじない」とか「とりあえず書いておけ!」なんて言われて、何となく書き入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く