あすたま のすべての投稿

「三」みたいなスマホ用jQueryメニューをホームページに導入する方法

スマホで「三」をタップ(クリック)すると、メニューがニュル~っと出てくるやつ

 

正式名称は、ハンバーガーメニューと言うらしいが、あまりこの呼称は浸透していない。

もちろんスマホもPCも対応。

とにかく、これを導入してみよう。

導入イメージはこんな感じ↓

humbergermenu1

humbergermenu2

 

デモページはこちら(デモページ右上にMENUがある。)

 

 

jQueryなどのメニューに必要なものを揃える

右クリックで「対象を保存」などでダウンロード可能。
jquery.min.js
jquery-ui.min.js
menu3.js
index.html
menu3.css
・「」と「X」の画像

これが最低限必要。
 

ちなみに、上記リンク先は全てテキストにしているので、ダウンロードして使う場合は、拡張子の.txtをそれぞれ、「.js」「.css」「.html」などに変更しておくこと。

 

3menu.zip
↑index.html、menu3.css、menu3.js、jquery.min.js、jquery-ui.min.js、MENUとXの画像2個を全てまとめて圧縮したもの(フォルダ階層あり)はこちら。
 
 

サーバー上に設置

cssフォルダ/menu3.css

imgフォルダ/menu.pngmenu2.png

jsフォルダ/jquery.min.jsmenu3.jsjquery-ui.min.js

index.html

と言う感じで設置する。
 
パーミッション等は変更必要ないので、そのままアップロードする。

 

 

メニューや色などの変更

・メニューの中身は index.html の中の menu1 menu2 menu3 などと書いている部分を修正。
URLも同様。

なお、同じように menu5 menu6 を追加すれば、メニューは自動的に増える。
 

・色は menu3.css
.menu3 {
z-index: 1000000;
font-weight: bold;
font-size: 0.8em;
width: 100%;
background: #FFCC00;
position: fixed;
top: 20px;
right: 0;
text-align: center;
}
この辺りを修正。

画像等も適当に入れ替え可能。
 

 
 

ハンバーガーメニューの簡単な解説

HTMLファイル

↓下記コードの2行目の button の img/menu.png の部分を MENU などのテキストにする事も可能。
その場合はCSSでサイズなどを調整する必用がある。

※サンプルの menu.png は iOSのRetinaディスプレイ対応のため、画像サイズが陪になっている。

<div><!– humberger menu–>
<button class=”hamburger”><img src=”img/menu.png” width=”51px” height=”45px” /></button>
<button class=”cross”><img src=”img/menu2.png” /></button>
</div>
<div class=”menu3″>
<ul>
<a href=”index.html”><li>menu1</li></a>
<a href=”2.html”><li>menu2</li></a>
<a href=”3.html”><li>menu3</li></a>
<a href=”4.html”><li>menu4</li></a>
</ul>
</div>
<script src=’https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js’></script>
<script src=”js/menu3.js”></script>
 
 
 
menu3.js

スタイルシートなどに記述するクラス名などを変更したい場合はこちらを編集。

$(“.cross”).hide();
$(“.menu3”).hide();
$(“.hamburger”).click(function() {
$(“.menu3”).slideToggle(“slow”, function() {
$(“.hamburger”).hide();
$(“.cross”).show();
});
});

$(“.cross”).click(function() {
$(“.menu3”).slideToggle(“slow”, function() {
$(“.cross”).hide();
$(“.hamburger”).show();
});
});

 

【All Animation CSS3】CSS3だけでアニメーションや3Dエフェクトを表現できる

CSSだけで簡単にクリックエフェクトなどをアニメ化する

All Animation CSS3 オール・アニメーションCSS3とは?

スタイルシートフレームワークで、簡単にクリックやタップエフェクトをアニメーション化する方法だ。

HTMLにclassをつけるだけで実装できるので簡単。プログラミングの知識がなくてもできるので嬉しい。

超簡単な導入方法を紹介しよう。

オールアニメーションCSS3の導入方法

1. CSSとjQueryをダウンロード

右クリックで保存しよう。
all-animation.cssは「通常版」と「ミニファイド版」の2種類あるが、どちらでもOK。

all-animation.css←通常版
all-animation.min.css←minified版(軽量版)

position.css
↑画像のサイズや表示位置を変える時に編集する。

jquery-1.11.1.min.js

bootstrap.min.js

main.js

なお、.jsファイルは「.txt」としているので、ダウンロードしたら拡張子を「.js」に変更しておこう。ファイル名も確認しておこう。

・アーカイブ版 .zip (導入サンプルまとめてダウンロード)
all-animation.zip

 

 

2. CSSとjsファイルの読み込み

 

<head> と </head> の間で、cssを読み込もう。

<link rel="stylesheet" type="text/css" href="css/position.css" /><!–- all animation css3 –->
<link rel="stylesheet" type="text/css" href="css/all-animation.min.css" /><!–- all animation css3 –->

 

次に、</body>の直前辺りで、js ファイルを読み込もう。
 

<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>

これで読み込みは完成。あとは画像にclassをつけたり、するだけでアニメーションエフェクトが実装できる。
 

 

3. 画像のアニメーションエフェクト

 

画像アニメーションのデモページはこちら

画像の<img>のタグを div で囲んで、class にエフェクトを記入すると、その画像にアニメーションエフェクトをつけることができる。

 

記述例:

<div class="dance"><img src="img/画像名.jpg" /></div>

使用可能クラス一覧(エフェクトのデモはデモページを参考に。)

エフェクト名クラス名
ダンスdance
回転(ジャーナル)journal
鼓動(パルス)pulse
ゆっくり鼓動pulse-slow
ジャンプjapm
4点four-rock
上バウンドenter-up-bounce
下バウンドenter-down-bounce
右バウンドenter-right-bounce
左バウンドenter-left-bounce
背面バウンドscale-bounce
ジャンプバウンドjump-bounce
右フリップtree-flip-right
左フリップtree-flip
上フリップtree-flip-up
下フリップtree-flip-down
左めくりflip-left-bounce
めくりrotate-flip
右めくりflip-right-bounce
上から登場flip-top
左から登場flip-left
右から登場flip-right
下から登場flip-bottom
縦めくりrotate-flip-down
ぶら下がり落ちrotate-down-bounce
回転消滅rotate-out
点滅flash-bang
吹き飛びbomba
ぐるぐるrotate-row
下へ網掛けlegend-down
上へ網掛けlegend-up
左から網掛けlegend-left
右から網掛けlegend-right
終幕legend-flip
くっきりportrait-before
ぼんやりportrait-blur
そのままscale-before

 

 

4. ボタンのアニメーションエフェクト

ボタンのアニメーションのデモページはこちら

button に data-efect= として、エフェクトのクラス名を記入するだけで、画像にアニメーションをつけることができる。

button の下で、画像を読み込んでおく。
 

 
記述例:

<div class="btns">
<button data-efect="dance">ダンス</button>
</div><!– btns –>
<div class="posi treed">
<div id="all-animation-icon">
<img src="img/all-animation.png" alt="" />
</div>
</div>

 

使用可能クラス一覧は画像のアニメーションエフェクトと全く同じ。

 

 

5. メニューのアニメーションエフェクト

メニューのアニメーションのデモページはこちら

ulやdivにクラスを付けて、簡単にアコーデオンやタブを実装可能。

個別アコーデオン
<ul class="all-animation double-acordeon">

連動アコーデオン
<ul class="all-animation acordeon">

フェードタブ
<div class="all-animation tab-panel">

スライドタブ
<div class="all-animation tab-slide-panel">

記述方法(個別アコーデオンの場合):

<ul class="all-animation double-acordeon">
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon1" checked />
<label for="double-acordeon1">メニュー1
<div>内容1</div>
</label>
</li>
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon2" />
<label for="double-acordeon2">メニュー2
<div>
内容2</div>
</label>
</li>
<li>
<input type="checkbox" name="_double_acordeon[]" id="double-acordeon3" />
<label for="double-acordeon3">メニュー3
<div>
内容3</div>
</label>
</li>
</ul>

 

 

その他の記述方法は、メニューのアニメーションのデモページのソース、またはall-animation.zipを参照。

 

 

6. チェックボックスのアニメーションエフェクト

 

チェックボックスのアニメーションのデモページはこちら

div にクラス名を記入するだけで、チェックボックスやラジオボタンにエフェクトを付けて、トリガーボタンなどを作れる。

記述方法:
・トリガー
<div class="all-animation triggerOnOf">
<input id="check9" name="check9″ type="checkbox" />
<label for="check9"> トリガー黄緑</label>
</div>

・ラジオボタン
<div class="all-animation box-check">
<input id="radio1" name="radio1" type="radio" />
<label for="radio1"></label>
</div>
<div class="all-animation box-check">
<input id="radio2" name="radio1" type="radio" checked />
<label for="radio2"></label>
</div>

・チェックボックス
<div class="all-animation puft-in">
<input id="check1" type="checkbox" />
<label for="check1"></label>
</div>

その他のエフェクトはメニューのアニメーションのデモページのソース、またはアーカイブ版all-animation.zipを参照。

・アーカイブ版(導入サンプルまとめてダウンロード)
all-animation.zip

【画像ダウンロードボタン作成方法】を画像リンクをクリックすると、すぐにダウンロード開始させる方法。

画像リンクをクリックすると、すぐにダウンロード開始

複雑なプログラミングを使わずに、画像をクリックすると、画像が開くだけじゃなく、自動的に画像ダウンロードがスタートするようにしたい。

できます。
しかも簡単に。

 

サンプルサイト「Web素材.net」

.htaccessとURLクエリストリング(パラメータ)を使う

クエリストリング(クエリパラメータ)などと、小難しい名前がついているが、簡単に言うとURLの後ろについている「?xxx」というやつだ。
querystring
こういうヤツだ。

1. .htaccessに記述を追加する

.htaccess ファイルに以下の記述をコピペする。既に.htaccess がある場合は追記。
ない場合は、下のファイルを右クリックダウンロードして、FTPソフトでアップロードすればOK。

WordPress用も用意している。
site用の.htaccess
wordpress用の.htaccess
なお、ダウンロードした「site.htaccess.txt」などは、アップロード後に、「.htaccess」に名前を変えてくれ。

.htaccess 追記分:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^download
RewriteRule ^(.+)$ – [T=application/octet-stream]

全く同じでなくてもいい。例えば、

RewriteEngine on
RewriteCond %{QUERY_STRING} ^dl
RewriteRule ^(.+)$ – [T=application/octet-stream]

などでも大丈夫。上の例は downloadがクエリストリング。下の例ではdlがクエリストリング。

2. 画像リンクのパスの後に、クエリストリングを追加する

これで、普通の画像リンクだといつも通り画像が表示される。
そしてリンクの後に「?download」とつけておくと、リンクをクリックすると即座にダウンロードが開始される。

通常のリンク<a href=”/xxx/写真名.jpg”>画像表示はこちら</a>

ダウンロードリンク<a href=”/xxx/写真名.jpg?download”>ダウンロードはこちら</a>

クエリストリングにdownloadがついている時に、即座にダウンロードが開始されるわけだ。

解説

.htaccess の開設

RewriteCond %{QUERY_STRING} ^download
クエリストリングが「download」かどうかをチェックする。

RewriteRule ([^/]*)$
この記述は、全てのファイルパスやファイルの種類にマッチすることになる。つまり、全ての場所のいかなるファイルであっても、?download がついている場合に適用される。


このダッシュで、以下はURLやパス、ファイル名じゃないよという事を表している。

[T=application/octet-stream]
TはTypeの略。フラッグと呼ばれる。これでファイルタイプを変更しますよ。という事になる。
application/octet-stream これは、「任意のデータ」という意味になる。つまり、画像でもなく、文章でもなく、動画でもない、「何かしらのデータ」なので、ブラウザで開かれたり、Windowsメディアプレーヤーが立ち上がる事もなく、ダウンロードが開始される。

全体で、
クエリストリングに「?download」がついている場合は、いかなるファイルタイプであっても、それを任意のデータとして受け取るように、ルールを書き換えますよ。

という意味になる。

なのでダウンロードが開始されるわけだ。
ちなみにこれを使えば、画像でなくても「.html」ファイルや、動画ファイルであってもダウンロードさせることができる。
 
URLの後ろに「?download」のクエリストリングをつけるだけでOK。
 
 

番外 WordPressで使いたい!

 
なお、Wordpress(のテンプレートphpなどで)にこれを使いたい場合
<a href=”<?php thumbnails_url(); ?>?download” target=”_blank”><img src=”ダウンロードボタンの画像.jpg”></a>
と記述してやることで、任意のサムネイルをダウンロードさせることができる。