Quantcast
Channel: Coding_team –ウェブラボ(株)スタッフブログ
Viewing all 87 articles
Browse latest View live

画面いっぱいのスライダーを実装する

$
0
0
tecmemo1801こんにちは、ウェブラボクリエイターズメモです。

今回は、多機能なスライダー実装できるjQueryプラグイン「slick」を紹介したいと思います。

最近個人的にスライダーを色々カスタマイズすることがあり、その際に使ってみてとても便利だったので備忘録としてここに書いときます。

まずは公式サイトからプラグインをダウンロードしてきます。ヘッダーのメニューに「get it now」とあるのでクリック、そこに「Download Now」ボタンがあります。

「slick」公式サイト

では実装していきます。まずはDEMOをご覧下さい。

作成したDEMO

メイン画像とサムネイル画像を連動させたウィンドウ幅いっぱいのスライダーを実装してみました。

少し設定が複雑ですが、解説していきます。

HTMLhead内に以下のようにCSSの読み込みとスクリプトを記述します。(別にhead内である必要はありません)

■HTMLhead部分

<link rel="stylesheet" href="css/slick.css">
<link rel="stylesheet" href="css/slick-theme.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/slick.min.js"></script>
<script>
$(function() {
    $('#slider01').slick({ //メインのスライダーにしたい要素
          infinite: true, //スライドをループさせるか
          arrows: true, //前後ボタンの表示
          dots: true, //点の表示
          variableWidth: true, //横幅が異なるスライドにするか
          autoplay: true, //自動切り替え
          autoplaySpeed: 5000, //自動切り替えにかかる時間
          centerMode: true, //要素を中央へ
          asNavFor: '#slider02', //サムネイルのスライダーを指定
          responsive: [{
               breakpoint: 640, // 横幅640px以下で挙動変更
                    settings: {
                         variableWidth: false,
                         centerMode: false
               }
          }]
     });
    $('#slider02').slick({ //サムネイルのスライダーにしたい要素
          infinite: true, //スライドをループさせるか
          arrows: true, //前後ボタンの表示
          slidesToShow: 3, //表示する要素の数(ある程度設定しないとうまく動作しない?)
          variableWidth: true, //横幅が異なるスライドにするか
          autoplay: true, //自動切り替え
          autoplaySpeed: 5000, //自動切り替えにかかる時間
          centerMode: true, //要素を中央へ
          asNavFor: '#slider01', //メインのスライダーを指定
          focusOnSelect: true //クリックしたスライドにフォーカス
     });
});
</script>

スライダー部分のHTMLやCSSはお好みで調整してください。

■HTMLスライダー部分

<div class="slider">
	<ul id="slider01"> //メインのスライダーにしたい要素
		<li><img src="img/001.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/002.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/003.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/004.jpg" width="980" height="500" alt=""></li>
		<li><img src="img/005.jpg" width="980" height="500" alt=""></li>
	</ul>
</div>
<div class="slider">
	<ul id="slider02"> //サムネイルのスライダーにしたい要素
		<li><img src="img/006.jpg" width="196" height="110" alt=""></li>
		<li><img src="img/007.jpg" width="196" height="110" alt=""></li>
		<li><img src="img/008.jpg" width="196" height="110" alt=""></li>
		<li><img src="img/009.jpg" width="196" height="110" alt=""></li>
		<li><img src="img/010.jpg" width="196" height="110" alt=""></li>
	</ul>
</div>

必要な記述は以上です。640px以下でメインのスライダーの挙動が変わりますのでウィンドウ幅を縮めてみてください。

作成したDEMO

他のプラグインとかでウィンドウ幅いっぱいのスライダーを実装しようとするとかなり面倒だったり、うまくいかなかったりしたので便利なプラグインを見つけた!って感じです。

しかも自分でブレークポイントを決めて設定を変えられるのはとても便利ですね。

「slick」自体は結構前から知っていたのですが、なかなか使う機会が無かったのでもっと早く使ってれば良かったなと思います。

プラグインの設定などわりと上級者向けのスライダーですが、ものすごい多機能なのできっと皆さんの要望にも応えてくれるでしょう。

対応ブラウザですが、どうやらIE8から動くみたいですね。

以上、クリエイターズメモでした。


スクロールの判定とCSSアニメーションを使ってみる

$
0
0
こんにちは、ウェブラボ技術メモです。
今回はjsでスクロールの判定を行い、それに応じてCSSでアニメーションしてみます。

DEMOはこちら

それでは実際に実装していきましょう。

まず、HTMLのbody内でアニメーションを効かせたい要素にクラスを与えます。

■HTML body内

 <div class="animation"><img src="<!--画像ファイル-->"></div>

次にhead内でjquery本体を読み込ませ、スクロールの判定を行うjsを記述します。

■HTMLhead内

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(window).scroll(function (){
	$(".animation").each(function(){
	  var position = $(this).offset().top; //ページの一番上から要素までの距離を取得
	  var scroll = $(window).scrollTop(); //スクロールの位置を取得
	  var windowHeight = $(window).height(); //ウインドウの高さを取得
	  if (scroll > position - windowHeight){ //スクロール位置が要素の位置を過ぎたとき
	    $(this).addClass('active'); //クラス「active」を与える
	  }
	});
});
</script>

これでスクロールの応じて、クラス「active」が与えられるようになりました。

最後にクラス「active」を得たとき、CSSでアニメーションさせるように記述します。

■HTMLhead内 CSS部分

.animation{
    opacity: 0; //不透明度0%
    -webkit-transform: translate3d(0, 100%, 0); //縦方向の位置を100%下げる
    transform: translate3d(0, 100%, 0);
    -webkit-transition: all 1s ease; //1秒間かけて変化させる
    transition: all 1s ease;
}

.animation.active{
    opacity: 1; //不透明度100%
    -webkit-transform: translate3d(0, 0, 0); // 縦方向の位置を戻す
    transform: translate3d(0, 0, 0);
}

対応ブラウザについて確認してみました。

◯ Google Chrome
◯ Firefox
◯ Safari
◯ Opera
◯ Internet Explorer 10+
× Internet Explorer 7、8、9

以上、技術メモでした。

calc()関数について

$
0
0
図1

こんにちは、ウェブラボ技術メモです。

今回はcalc()関数についてご紹介します。

■calc()関数とは?

簡単に言うとプロパティの値を計算式で導出できる関数のことです。
対応ブラウザなど詳しくはこちらをご覧ください。

■使い方

calc()関数は様々な活用シーンがあります。
例えば、
横幅100%を三等分したい時には、以下のように記述し並列に均等配置することができます。つまり割り切れない数字の値に使うことができるそうです。

width: calc(100% / 3);

他にも要素のセンタリングや文字サイズを可変に設定することができます。

最近、私が便利だと思ったのは

親要素の横幅を超えてある子要素だけを横幅100%に配置する使い方です。
以下のような記述をします。

margin-left: calc(((100vw - 100%) / 2) * -1);
margin-right: calc(((100vw - 100%) / 2) * -1);

ネガティブマージンをcalc関数を使って算出しています。

ウィンドウ幅の100%(100vh)から親要素の幅(100%)を引いて2で割ります。これで親要素の両脇のマージンの幅がわかります。
最後に、ネガティブマージンなのでマイナスになるように-1をかけます。(上図参照)

とても便利なので是非皆さんも使ってみてくださいね!

以上、技術メモでした。

Parallax.jsで簡単にパララックスを実装する

$
0
0
tecmemo1804
こんにちは、ウェブラボクリエイターズメモです。

最近個人的にパララックスなどサイトに動きを付ける機会が多くあり、いいプラグインなど無いかな?

と思い探してみたところ見つけたのでその紹介をしたいと思います。

まずは作成したDEMOをご覧下さい

スクロールすると背景が少しずつ動いていく良く見るパララックスですね。

これがとても簡単に実装できてしまうんです!

まずは下記の公式サイトからプラグインをダウンロードしてきましょう。

Parallax.js公式

ダウンロードしたファイルのparallax.min.jsだけあれば大丈夫です。

ではまずはHTMLから解説していきます。

まずはjQuery本体と一緒にプラグインを読み込ませます。

■HTML スクリプト部分

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/parallax.min.js"></script>

次に以下のように記述します。

■HTML

<div class="parallax-window" data-parallax="scroll" data-image-src="./img/001.jpg">
<h2>見出し見出し見出し見出し</h2>
<p>テキストテキストテキストテキスト</p>
</div>
<div class="parallax-window" data-parallax="scroll" data-image-src="./img/002.jpg">
<h2>見出し見出し見出し見出し</h2>
<p>テキストテキストテキストテキスト</p>
</div>

パララックスを付けたい場所にdata-parallax=”scroll”を、 data-image-src=”画像のパス”で背景に指定したい画像の指定します。クラス名は何でも大丈夫です。

最後にCSSの記述をします。

■CSS

.parallax-window {
     min-height: 800px;
     background: transparent;
}

.parallax-slider {
     top: 0;
     left: 0;
}

公式には書いてありませんでしたが私の環境では.parallax-slider~の記述を書かないと背景の位置がずれてしまったので参考までに。。。

対応ブラウザですが、ざっと見た感じだとIEは10から動くみたいです。ただ動作がかなりカクついていたので使用する際には注意が必要ですね。

オプションも色々とあるようですので時間があるときにでも試してみようかなと思います。

以上、クリエイターズメモでした。

Google Mapのデザインをカスタマイズする

$
0
0
こんにちは、ウェブラボ技術メモです。

「Google Map」は、会社のアクセスページなどで

地図を公開する手段として、多くのホームページで使われていますね。

オシャレなデザインのホームページを作成する際に

Google Mapも色味を変えれたら…と思ったことはありませんか?

今回はGoogle Mapのデザインをお手軽にカスタマイズしてみます。

実装にはjavascriptを使用しますが、

必要な項目を入力するだけで、コードを自動生成できる
とても便利な生成ツールを紹介いたします。

http://creator.aainc.co.jp/archives/3752

生成ツールの使用方法

それでは実際に実装していきましょう。
生成ツールの入力項目の順に説明致します。

■タイトル

地図のタイトルを入力します。
会社の地図であれば、社名を入力しましょう。

■座標

グーグルマップで表示する位置座標を入力します。
下記より、その位置座標の調べ方について説明していきます。
  1. 地図に掲載したい場所を、「Google Map」で検索します。
  2. 地図に掲載したい場所とその周辺が表示されたら、地図のマーカーを置きたい箇所にマウスカーソルを置き、右クリックを押します。
  3. 右クリックで表示されたメニューから「この場所について」をクリックします。
  4. 表示されたウインドウに書かれている、「,(カンマ)」で区切られた2つの数字が、必要となる位置座標です。

■色

「Google Map」のベースカラーとなる、カラーコードを入力します。
入力したカラーコードを基準に、地図全体やアイコンの色味が自動で決定されます。

■縦幅・横幅

px単位の数値を入力します。

■拡大比率

Google Mapの初期拡大比率を設定します。
拡大比率は「0~22」程度あり、数値が大きくなるほど拡大します。
座標で設定したマーカーの場所とその周辺を表示する場合であれば「16~19」がよいでしょう。

以上の項目を入力し終えましたら、すぐ下にあるボタンをクリックします。

その後すぐに地図のプレビューとコードが生成されます。

実装

ここからは生成されたコードを使って、実装を行います。

まず、生成されたコードの「1行目~下から2行目」を、head内またはbody内に記入します。

最後の行の記述は残しておきます。

1行目はGoogle Maps APIを読み込むための記述、

2行目以降はjavascriptの記述となります。

■HTMLhead内

<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
function googleMap() {
var latlng = new google.maps.LatLng(35.687943,139.724314);/* 座標 */
var myOptions = {
zoom: 18, /*拡大比率*/
center: latlng,
mapTypeControlOptions: { mapTypeIds: ['style', google.maps.MapTypeId.ROADMAP] }
};
var map = new google.maps.Map(document.getElementById('map1'), myOptions);

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);
var markerOptions = {
position: latlng,
map: map,
icon: icon,
title: 'ウェブラボ株式会社',/*タイトル*/
animation: google.maps.Animation.DROP/*アニメーション*/
};
var marker = new google.maps.Marker(markerOptions);

/*取得スタイルの貼り付け*/
var styleOptions = [
{
"stylers": [
{ "hue": '#07539f' }
]
}
];

var styledMapOptions = { name: 'ウェブラボ株式会社' }/*地図右上のタイトル*/
var sampleType = new google.maps.StyledMapType(styleOptions, styledMapOptions);
map.mapTypes.set('style', sampleType);
map.setMapTypeId('style');
};
google.maps.event.addDomListener(window, 'load', function() {
googleMap();
});
</script>

残しておいた最後の行は、地図を表示する記述となります。

実際に表示させたい箇所に記入します。

■HTML body内

<div id="map1" style="width:980px; height:400px; margin:0 auto;"></div>

コードの調整

これで実際に表示されれば完成…ですが
このままではマーカーが表示されません。
そこで少しだけコードの調整を行います。

用意した画像をマーカーとして使う場合

下記のコードに書かれている「/icon.png」は、マーカーの画像を指定しています。

使いたい画像を「icon.png」に設定し、該当する場所にアップロードするか
使いたい画像のあるURLを記入します。
必要であれば、アイコンサイズやアイコン位置の調整も行いましょう。

■HTMLhead内

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);

デフォルトのアイコンをマーカーとして使う場合

とくに画像を用意しない場合は、下記の記述を探して削除しましょう。

するとデフォルトのマーカーが表示されるようになります。

■HTMLhead内

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);

■HTMLhead内
icon: icon,

マーカーのアニメーションを外す

ページ読み込み直後のアニメーションも不要という場合は、
下記の記述を変更します。

■変更前

title: 'ウェブラボ株式会社',/*タイトル*/
animation: google.maps.Animation.DROP/*アニメーション*/

■変更後
title: 'ウェブラボ株式会社'/*タイトル*/

「title」と書かれた行の最後にある「,(カンマ)」を削除し忘れないようにしてください。

作成例

これでGoogle Mapのカスタマイズが完了しました!

これまでの調整を行ったコードで

作成したGoogle Mapは下記となります。
DEMOはこちら

以上、技術メモでした。

ブラウザにデータを保存する方法

$
0
0
sumne

こんにちは、ウェブラボ技術メモです。

最近、Cookie以外でブラウザにデータを保存する方法がないか調べたところ、
便利なAPIを見つけたのでご紹介します。

localStorageとSessionStorage

localStorageとSessionStorageは、HTML5で新たに追加されたAPIです。
フロンエンドでブラウザにデータを保存することができるので、データベースとの連携が必要ありません。
下の表は、localStorageとSessionStorage、Cookieの特徴をそれぞれまとめました。

有効期限 データ量 通信
localStorage 半永久 5MB なし
sessionStorage ウィンドウ・タブを閉じるまで 5MB なし
Cookie 指定期限まで 4KB リクエストの都度発生する

また、ブラウザの対応状況や詳しい仕様は以下参考サイトをご覧ください。

詳しくはこちら

localStorageとSessionStorageの使い方

主な動作は

  • 保存
  • 取得
  • 削除
  • 初期化

に分類されます。それぞれ以下記述をすると実行されます。

localStorage SessionStorage
保存 localStorage.setItem(‘hogehoge’, ‘値’); sessionStorage.setItem(‘hogehoge’, ‘値’);
取得 localStorage.getItem(‘hogehoge’) sessionStorge.getItem(‘hogehoge’)
削除 localStorage.removeItem(‘hogehoge’) sessionStorge.removeItem(‘hogehoge’)
初期化 localStorage.clear() sessionStorage.clear()

保存したデータは、デベロッパーツールの「Application」→「Storage」の中のそれぞれ「LocalStorage」と「SessionStorage」を開くと値が入っているか確認できます。

複数のデータ(配列)を保存したい場合はJSONに変換すると扱うことができます。

使用例

localStorageの利用例としては、「最近閲覧した商品」のおすすめや、「お気に入り」、「メモ機能」などがあるそうです。また、SessionStorageの場合は、使い捨てデータの受け渡しに使えそうですね。

実際にlocalStorageとSessionStorageを使ったデモを作成しました。

DEMOはこちら

以上、技術メモでした。

カラフルなメッシュ画像を表示させる「Trianglify」

$
0
0
こんにちは、ウェブラボ技術メモです。

今回はカラフルなメッシュ画像を表示させる「Trianglify」を使用してみようと思います。

設定を比較するDEMOを作成しました。

DEMOはこちら

様々なパターンがありますが、短いコードで簡単に設定できてしまいます。

それでは実際に実装していきましょう。

以下からプラグインをダウンロードしてください。

github

まずはhead内でjquery本体とプラグインを読み込ませます。

■HTMLhead内

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/trianglify.min.js"></script>

次にプラグインのオプション設定を行います。

この他のオプションについては、githubにて公開されています。

■HTMLhead内 スクリプト部分

<script>
	var sample = Trianglify({
		width: 980, //横幅(px指定 デフォルトは600px)
		height: 400, //縦幅(px指定 デフォルトは400px)
		cell_size: 75 //メッシュサイズ(高いほど粗くなり、低いほど細かくなる デフォルトは75)
		variance: 0.75 //分散(0~1の小数点以下の値 デフォルトは0.75)
		x_colors: 'random', //x軸方向のグラデーション(カラーコードの配列で指定 デフォルトはランダム生成を行う「random」)
		y_colors: ['#000', '#07539F', '#FFF'] //y軸方向のグラデーション(カラーコードの配列で指定 デフォルトはx_colorsの設定を引き継ぐ「match_x」)
	});
	document.getElementById("result").appendChild(sample.canvas())//要素のidを指定
</script>

最後にスクリプト内で指定した要素とidをHTMLのbody内に記述するだけです。

この記述した箇所に、設定したサイズのメッシュ画像がcanvasタグで表示されます。

■HTML body内

<div id="result"></div>

対応ブラウザについて確認してみました。

◯ Google Chrome
◯ Firefox
◯ Safari
◯ Opera
◯ Internet Explorer 9、10+
× Internet Explorer 7、8
古いIEを除いて全てのブラウザで動作しました。

以上、技術メモでした。

Google Mapのデザインをカスタマイズする

$
0
0
こんにちは、ウェブラボ技術メモです。

「Google Map」は、会社のアクセスページなどで

地図を公開する手段として、多くのホームページで使われていますね。

オシャレなデザインのホームページを作成する際に

Google Mapも色味を変えれたら…と思ったことはありませんか?

今回はGoogle Maps APIを使用して

Google Mapのデザインをカスタマイズしてみます。

APIキーの取得

Google Map APIを使用する際は、APIキーの取得が必須となります。

Googleは、2018年6月11日よりGoogle Maps Platformという新しいプランを発表しました。

これに伴い、APIキーが未設定のマップは正常に表示されなくなります。

この新プランについては、下記の記事でも紹介しております。

https://www.weblab.co.jp/staff/marketing/6354.html

実装方法

今回は下記の生成ツールを参考に実装致しました。
http://creator.aainc.co.jp/archives/3752

後述しますが、このツールで生成されるコードは古いため、一部のコードを書き換える必要があります。

それでは実際に実装していきましょう。

生成ツールの入力項目の順に説明致します。

■タイトル

地図のタイトルを入力します。
会社の地図であれば、社名を入力しましょう。

■座標

グーグルマップで表示する位置座標を入力します。
下記より、その位置座標の調べ方について説明していきます。
  1. 地図に掲載したい場所を、「Google Map」で検索します。
  2. 地図に掲載したい場所とその周辺が表示されたら、地図のマーカーを置きたい箇所にマウスカーソルを置き、右クリックを押します。
  3. 右クリックで表示されたメニューから「この場所について」をクリックします。
  4. 表示されたウインドウに書かれている、「,(カンマ)」で区切られた2つの数字が、必要となる位置座標です。

■色

「Google Map」のベースカラーとなる、カラーコードを入力します。
入力したカラーコードを基準に、地図全体やアイコンの色味が自動で決定されます。

■縦幅・横幅

px単位の数値を入力します。

■拡大比率

Google Mapの初期拡大比率を設定します。
拡大比率は「0~22」程度あり、数値が大きくなるほど拡大します。
座標で設定したマーカーの場所とその周辺を表示する場合であれば「16~19」がよいでしょう。

以上の項目を入力し終えましたら、すぐ下にあるボタンをクリックします。

その後すぐに地図のプレビューとコードが生成されます。

実装

ここからは生成されたコードを使って、実装を行います。

まず、生成されたコードの「1行目~下から2行目」を、head内またはbody内に記入します。

最後の行の記述は残しておきます。

1行目はGoogle Maps APIを読み込むための記述、

2行目以降はjavascriptの記述となります。

■HTMLhead内

<script src="http://maps.google.com/maps/api/js?sensor=true&key=XXXXX"></script>/*「XXXXX」にAPIキーを入力します*/
<script type="text/javascript">
function googleMap() {
var latlng = new google.maps.LatLng(35.687943,139.724314);/* 座標 */
var myOptions = {
zoom: 18, /*拡大比率*/
center: latlng,
mapTypeControlOptions: { mapTypeIds: ['style', google.maps.MapTypeId.ROADMAP] }
};
var map = new google.maps.Map(document.getElementById('map1'), myOptions);

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);
var markerOptions = {
position: latlng,
map: map,
icon: icon,
title: 'ウェブラボ株式会社',/*タイトル*/
animation: google.maps.Animation.DROP/*アニメーション*/
};
var marker = new google.maps.Marker(markerOptions);

/*取得スタイルの貼り付け*/
var styleOptions = [
{
"stylers": [
{ "hue": '#07539f' }
]
}
];

var styledMapOptions = { name: 'ウェブラボ株式会社' }/*地図右上のタイトル*/
var sampleType = new google.maps.StyledMapType(styleOptions, styledMapOptions);
map.mapTypes.set('style', sampleType);
map.setMapTypeId('style');
};
google.maps.event.addDomListener(window, 'load', function() {
googleMap();
});
</script>

先述のように、生成ツールが古く、生成されるコードにはAPIキーが入力されていません。

1行目のAPIを読み込む記述は、下記のように変更してください。

■変更前

<script src="http://maps.google.com/maps/api/js?sensor=true"></script>

■変更後
<script src="http://maps.google.com/maps/api/js?sensor=true&key=XXXXX"></script>/*「XXXXX」にAPIキーを入力します*/

残しておいた最後の行は、地図を表示する記述となります。

実際に表示させたい箇所に記入します。

■HTML body内

<div id="map1" style="width:980px; height:400px; margin:0 auto;"></div>

コードの調整

これで実際に表示されれば完成…ですが
このままではマーカーが表示されません。
そこで少しだけコードの調整を行います。

用意した画像をマーカーとして使う場合

下記のコードに書かれている「/icon.png」は、マーカーの画像を指定しています。

使いたい画像を「icon.png」に設定し、該当する場所にアップロードするか
使いたい画像のあるURLを記入します。
必要であれば、アイコンサイズやアイコン位置の調整も行いましょう。

■HTMLhead内

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);

デフォルトのアイコンをマーカーとして使う場合

とくに画像を用意しない場合は、下記の記述を探して削除しましょう。

するとデフォルトのマーカーが表示されるようになります。

■HTMLhead内

/*アイコン設定*/
var icon = new google.maps.MarkerImage('/icon.png',/*画像url*/
new google.maps.Size(70,84),/*アイコンサイズ*/
new google.maps.Point(0,0)/*アイコン位置*/
);

■HTMLhead内
icon: icon,

マーカーのアニメーションを外す

ページ読み込み直後のアニメーションも不要という場合は、
下記の記述を変更します。

■変更前

title: 'ウェブラボ株式会社',/*タイトル*/
animation: google.maps.Animation.DROP/*アニメーション*/

■変更後
title: 'ウェブラボ株式会社'/*タイトル*/

「title」と書かれた行の最後にある「,(カンマ)」を削除し忘れないようにしてください。

作成例

これでGoogle Mapのカスタマイズが完了しました!

これまでの調整を行ったコードで

作成したGoogle Mapは下記となります。
DEMOはこちら

以上、技術メモでした。


Viewer.jsで関単にフォトギャラリーを実装する

$
0
0

こんにちは、ウェブラボクリエイターズメモです。

普段ネットで買い物をしてるとき、商品のフォトギャラリーをクリックして切り替えるのが一般的かと思います。

しかし、いちいちクリック操作するのは面倒だと思いませんか?

もしスライダーやフォトギャラリーをキーボードで操作できたら非常に楽になると思います。

今回はキーボードで画像を切り替えることができるスクリプト「Viewer.js」をご紹介します。

Viewer.jsを使用した簡単なDEMOを作成しましたので、まずは下記からご覧ください。

→DEMOはこちら

では実際にDEMOと同じようにViewer.jsを実装していきます。

始めに下記からViewer.jsをダウンロードします。

→GitHub

使用するファイルは「dist」内の
・viewer.min.css
・viewer.min.js
の2ファイルになります。

次にviewer.min.cssとviewer.min.jsを読み込ませます。

■HTML head内

<link href="viewer.min.css" rel="stylesheet">
<script src="js/viewer.min.js"></script>

次にbody内に以下の様に記述をします。

■HTML body内

<ul id="images">
        <li><img src="images/sample01.jpg"></li>
        <li><img src="images/sample02.jpg"></li>
        <li><img src="images/sample03.png"></li>
        <li><img src="images/sample04.jpg"></li>
        <li><img src="images/sample05.jpg"></li>
        <li><img src="images/sample06.jpg"></li>
        <li><img src="images/sample07.jpg"></li>
        <li><img src="images/sample08.jpg"></li>
        <li><img src="images/sample09.jpg"></li>
        <li><img src="images/sample10.jpg"></li>
    </ul>
    <script>
        var viewer = new Viewer(document.getElementById('images')); //任意でid名を指定
    </script>

スライドショーなどを設定したい場所に先ほど指定したid名を記述します。

下記はGitHubにも記載してあるViewer.jsのDEMOページになっています。使用できるオプションなど沢山のアクションを試せるので参考にしてみてください。

→詳しくはこちら

今回紹介したViewer.jsですが、よく見るスライダーだけでなくフォトギャラリーなんかでも使えるので汎用性は高いのではないかと感じました。

オプションを使うことでDEMOページで見たもの以外にも沢山のアクションを実装することができ、実用性も充分です。

フォトギャラリーのような画像が沢山あるページでも楽に画像の切り替えができるので便利ですね!

以上、クリエイターズメモでした。

APIキーの取得方法

$
0
0
こんにちは、ウェブラボクリエイターズメモです。
以前のクリエイターズメモでGoogle Maps APIを使用したGoogle Mapのカスタマイズをご紹介しました。

Googleは、2018年7月よりAPIキーの仕様変更について発表しました。

APIキーを設定するだけでなく、請求先アカウントとAPIキーの紐づけを行わなければ、Google Mapが表示されなくなります。

今回はGoogle Map APIを使用するために必要となる、APIキーの取得方法と請求先アカウントの作成方法をご紹介します。

1.「Google Maps Platform」へアクセス

Googleアカウントへログインした後、
Google Maps Platformへアクセスします。

2.プロジェクト作成

Google Maps Platform

右上にあるコンソールをクリック。
「このページ表示するには、プロジェクトを選択してください」という文章の下にある「作成」ボタンをクリック。

tecmemo180803

「プロジェクトの選択」画面が表示されたら、右上にある「新しいプロジェクト」をクリック。

tecmemo180804

プロジェクト名を入力した後、「作成」ボタンをクリック。

これでプロジェクトの作成が完了しました。

3.APIを選択

tecmemo180805

プロジェクトのホーム画面の左メニューにある「APIとサービス」をクリック。

tecmemo180806

さらに、左メニューから「ライブラリ」をクリック。

tecmemo180807

利用できるAPIが一覧で表示されますので、利用したいものを検索するとよいでしょう。
今回は「Maps JavaScript API」を利用します。

tecmemo180808

APIの詳細ページ上部にある「有効にする」をクリック。

4.APIキーの作成

tecmemo180809

利用するAPIを有効化したら、「認証情報」をクリック。

tecmemo180810

「認証情報を作成」ボタンを押したらメニューが表示されますので「APIキー」をクリック。

tecmemo180811

「APIキーを作成しました」と表示され作成完了となります。
しかし不正利用に対するセキュリティ強化が必要となりますので「キーを制限」をクリック。

tecmemo180812

ページ下部「キーの制限」項目の「アプリケーションの制限」では「HTTPリファラー(ウェブサイト)」を選択します。
その下にある「このHTTPリファラー(ウェブサイト)からのリクエストを受け入れる」の項目にて、Google Mapを設置したいページのURLを入力します。
このときワイルドカードを使用できます。使用にはアスタリスク(*)を使用します。

tecmemo180813

これでAPIキーの取得が完了しました。実際に利用する際は「キー」と書かれた部分を使用します。

5.請求先アカウントの登録

tecmemo180814

プロジェクトのホーム画面の左メニューにある「お支払い」をクリック。

tecmemo180815

「請求先アカウントを管理」をクリックし、「請求先アカウントを追加」をクリック。

tecmemo180816

お客様情報(ビジネスか個人、住所、連絡先)と、支払い情報(支払い方法、クレジットカード)を入力します。

tecmemo180817

入力後、作成したプロジェクトと紐づけされているか確認してください。
以上で請求先アカウントの作成が完了致しました。

6.APITキーの利用

実際に利用する際は、下記のように変更してください。
■変更前
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>

■変更後
<script src="http://maps.google.com/maps/api/js?sensor=true&key=XXXXX"></script>/*「XXXXX」にAPIキーを入力します*/

以上、クリエイターズメモでした。

手軽にアニメーションを実装できるanime.js

$
0
0

こんにちは、ウェブラボ技術メモです。

anime

最近、おしゃれなローディング画面が多くなりましたね。

そこで今回は、アニメーションが手軽に実装できる「anime.js」を紹介します。

まずデモページはこちら

■概要

様々なアニメーションが収録されたプラグインです。

種類はこちらをご覧ください。

また、animejsを使った作品がCODEPENで見ることができます。

見てると楽しくなりますよ!

■実装方法

1. まずプラグインをダウンロードします。(anime.min.js)

2. 以下を記述

<script src="js/anime.min.js"></script>

3. HTMLでアニメーションさせたい要素を記述する。

SVGやテキストなどを動かすとかっこいいかもしれません!

4.cssに要素の色などを記述。

5.jsを記述する

「anime.js」のページで好きな関数を選んで調節する。

様々なアニメーションがあるので迷ってしまいますが、なるべく少ない組み合わせの方がスッキリとかっこいいアニメーションになると思います。

アニメーションの組み合わせのセンスがない私にはかなり難しかったです!

こちらのサイトでは素敵なロゴのアニメーションを紹介しているので是非参考にしてくださいね!

「続きを読む」リンクで要素の開閉を簡単に組込めるプラグインReadmore.js

$
0
0
readmore

こんにちは、ウェブラボ技術メモです。

近年、スマホの普及率もあがり、webサイトを閲覧するときもスマホメインとなってきています。
スマホでブログやまとめサイト等の記事を見ている時、文字ががずらっと並んでいてはあまり読む気にもならないですよね?
ですが、短い導入でその記事が気になるのであれば、続きを読みたいと思いますよね!

そこで今回は「続きを見る」や「Read More」というボタンを設置して、長いコンテンツの続きを読む的な、挙動をするjQueryプラグイン「Readmore.js」を紹介します。

では実際Readmore.jsを実装していきます。

まず下記のページからReadmore.jsをダウンロードします。
本家サイトとGitHubです。
どちらからでもダウンロードできます。

→本家サイト

→GitHub

使用するファイルは「Readmore.js-master」フォルダ内の
readmore.jsになります。

次にreadmore.jsとjquery本体を読み込ませます。

HTML head

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<script>
jQuery(function () {
    $('.open').readmore({
        speed: 750,
        collapsedHeight: 105,
        moreLink: '<a class="btn" href="#"><span>続きを読む</span></a>',//続きを読むリンクタグ
        lessLink: '<a class="btn_close" href="#"><span>閉じる</span></a>'//閉じるリンクタグ
    });
});
</script>

次にbody内に以下の記述をします。

HTML body

<div class="open">
    (省略)<!-- ここに文章が入ります。 -->
</div>

次にコンテンツの開閉を行うため、「Readmore.js」を実行します。

先ほどのhead内に続けて記述します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<!-- 下記 Readmore.js 実行文 -->
<script>
	$(function () {
		$('.open').readmore();
	});
</script>
<!-- //下記 Readmore.js 実行文 -->

※上記はデフォルトです。

またオプションをつけることにより、開閉するスピードなどを変えたりすることもできます。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<!-- 下記 Readmore.js 実行文 -->
<script>
    $(function () {
        $('.open').readmore({
        	//オプション
            speed: 750,
            collapsedHeight: 105,
            moreLink: '<a class="btn" href="#"><span>続きを読む</span></a>',//続きを読むリンクタグ
            lessLink: '<a class="btn_close" href="#"><span>閉じる</span></a>'//閉じるリンクタグ
        });
    });
</script>
<!-- //下記 Readmore.js 実行文 -->

上記のオプションでは、
speed→開閉するスピード
collapsedHeight→最初に表示するコンテンツの高さ
となっています。

では、Readmore.jsを使用した簡単なデモページを作成しましたのでご覧ください。

デモページはこちら

今回は「続きを読む」リンクでコンテンツの開閉を簡単に行えるReadmore.jsを紹介しました。

要素を開閉するだけであれば、プラグインを使用する必要はないかもしれませんが、簡単に導入できるので便利ですね。

「続きを見る」リンクを使用するのは、回遊コンテンツを多く見せたいためであるともいえます。

概要文を表示しているときに、他にどのようなトピックがあるのかを見せているという意見もあります。

概要文は文章量が少ないので少しスクロールすると関連するコンテンツをすぐに確認することができます。その時目についたトピックに目星をつけている人もいるのではないでしょうか。

回遊してもらえばもらうほどサイトのコミットメントが上がるので、沢山のコンテンツが掲載されているサイトと認識してもらえば、更新情報を得るためにSNSアカウントをフォーロされたり、ブラウザのブックマークに入れてもらうことができ、次も気軽にサイトを訪れてくれるようになるメリットがあります。

また、PV数を獲得するメリットもあります。

「続きを読む」リンクを実装したとき、1記事に対して、2ページ生成する使い方もあります。

気になるトピックの詳細を確認したいときは必ず概要文の書かれているページを通過することになるので、1人のアクセスにつきPVの表示を2回獲得することもできますね。

上記ように「続きを読む」リンクを実装したときのメリットは多数あります。

ですが、Googleはコンテンツを隠すことに対して、快く思ってない節があるので、多様するのは考えた方がいいかもしれないですね。

以上、技術メモでした。

スクロール時にアニメーションを実装できるScrollTrigger.js

$
0
0

02

こんにちは、ウェブラボ技術メモです。

今回は、画面スクロール時のアニメーション「ScrollTrigger.js」を紹介します。

まずデモページはこちら

■概要

スクロール時にアニメーションさせたい要素が表示範囲に入っているか、いないかを判定しクラスの付け替えをしてくれるプラグインです。

■実装方法

1. まずプラグインをダウンロードします。(ScrollTrigger.min.js)

2. 以下を記述(読み込みの記述とリセット)

<script src="js/ScrollTrigger.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function(){
	var trigger = new ScrollTrigger();
});
</script>

3. HTMLでアニメーションさせたい要素に「data-scroll」を記述します。

<p data-scroll>アニメーションさせたい要素</p>

4. cssでアニメーションを作成し完成!

HTMLにdata-scrollのみ記述した場合、デフォルトでは.invisibleと.visibleクラスが付与されます。

任意のクラスにする場合は以下のように記述します

<p data-scroll="toggle(任意のクラス名, 任意のクラス名(アニメ))" >アニメーションさせたい要素</p>

上記以外にも様々なオプションがあります!詳しくはこちらをみてくださいね!

以上、クリエイターズメモでした。

「続きを読む」ボタンで要素の開閉を簡単に組込めるプラグインReadmore.js

$
0
0

readmore

こんにちは、ウェブラボ クリエーターズメモです。

 

近年、スマホの普及率もあがり、webサイトを閲覧するときもスマホメインとなってきています。
スマホでブログやまとめサイト等の記事を見ている時、文字ががずらっと並んでいてはあまり読む気にもならないですよね?
ですが、短い導入でその記事が気になるのであれば、続きを読みたいと思いますよね!

 

そこで今回は「続きを見る」や「Read More」というボタンを設置して、長いコンテンツの続きを読む的な、挙動をするjQueryプラグイン「Readmore.js」を紹介します。

 

 

では実際Readmore.jsを実装していきます。

 

まず下記のページからReadmore.jsをダウンロードします。
本家サイトとGitHubです。
どちらからでもダウンロードできます。

→本家サイト

→GitHub

 

使用するファイルは「Readmore.js-master」フォルダ内の
readmore.jsになります。

 

次にreadmore.jsとjquery本体を読み込ませます。

 

HTML head

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<script>
jQuery(function () {
    $('.open').readmore({
        speed: 750,
        collapsedHeight: 105,
        moreLink: '<a class="btn" href="#"><span>続きを読む</span></a>',//続きを読むボタンタグ
        lessLink: '<a class="btn_close" href="#"><span>閉じる</span></a>'//閉じるボタンタグ
    });
});
</script>

 

次にbody内に以下の記述をします。

 

 

HTML body

<div class="open">
    (省略)<!-- ここに文章が入ります。 -->
</div>

 

 

次にコンテンツの開閉を行うため、「Readmore.js」を実行します。

先ほどのhead内に続けて記述します。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<!-- 下記 Readmore.js 実行文 -->
<script>
	$(function () {
		$('.open').readmore();
	});
</script>
<!-- //下記 Readmore.js 実行文 -->

※上記はデフォルトです。

 

 

またオプションをつけることにより、開閉するスピードなどを変えたりすることもできます。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="js/readmore.js"></script>
<!-- 下記 Readmore.js 実行文 -->
<script>
    $(function () {
        $('.open').readmore({
        	//オプション
            speed: 750,
            collapsedHeight: 105,
            moreLink: '<a class="btn" href="#"><span>続きを読む</span></a>',//続きを読むボタンタグ
            lessLink: '<a class="btn_close" href="#"><span>閉じる</span></a>'//閉じるボタンタグ
        });
    });
</script>
<!-- //下記 Readmore.js 実行文 -->

上記のオプションでは、
speed→開閉するスピード
collapsedHeight→最初に表示するコンテンツの高さ
となっています。

 

では、Readmore.jsを使用した簡単なデモページを作成しましたのでご覧ください。

デモページはこちら

 

 

今回は「続きを読む」ボタンでコンテンツの開閉を簡単に行えるReadmore.jsを紹介しました。

要素を開閉するだけであれば、プラグインを使用する必要はないかもしれませんが、簡単に導入できるので便利ですね。

 

概要文のみを表示させることで、複数の長いコンテンツが並んでいるページをコンパクトに見せることができます。

 

ですが、Googleはコンテンツを隠すことに対して、快く思ってない節があるので、多様するのは考えた方がいいかもしれないですね。

 

以上、ウェブラボ クリエーターズメモでした。

簡単な操作で画像を上書きできるプラグイン「Enable Media Replace」

$
0
0

tecmemo181126こんにちは、ウェブラボクリエイターズメモです。

 

WordPress構築の仕事が増えてきて、どのような画面設計にすれば更新がしやすくなるのか考えるのが最近の楽しみとなっております。

 

さて皆さんはWordPress(以下WP)で、アップされている画像の内容を上書きしようと思ったとき、どうしていますか?
WPにおいては、ローカル環境でファイルを上書きする感覚で、同名ファイルをアップすると、新規アップロードしたファイルの末尾に「-1」「-2」と連番が付与されていきます。
自動で別のファイル名に書き換えられてしまうわけですから、上書きされる予定だった画像も残ってしまいます。

 

確実にやろうと思うと、アップされている画像を削除してから、新たにアップし直すという手段になりますが、操作が多く手間がかかるように感じてしまうでしょう。

 

私も作業に時間がかかると感じ、効率的な方法が無いか調べたところ、簡単に画像を上書きできるプラグインを発見致しました。

今回は、WPにメディアファイルの上書き機能を追加する「Enable Media Replace」を紹介致します。

 

公式プラグインページはこちら
 

インストール方法

WP管理画面の左メニューから「プラグイン」→「新規追加」をクリック。

tecmemo181126_01

 

「Enable Media Replace」を検索し、「今すぐインストール」をクリック。
インストールを終えたら「有効化」します。

tecmemo181126_02

 

これでインストール作業は完了です。

使い方

左メニューの「メディア」から、実際にアップロードされている画像をクリックしてみましょう。

tecmemo181126_03

 

画像の詳細ウインドウ右下に「メディアを置換」という項目が追加されています。
この画像を上書きしたい場合は「メディアを置換」→「新しいファイルをアップロード」をクリック。

tecmemo181126_04

 

クリックすると「新しいメディアファイルをアップロード」という画面に移動します。

「ファイルを選択」から画像を選択します。

tecmemo181126_05

 

※「ファイルを選択」ボタンにアップロードしたい画像をドラッグ&ドロップで読み込ませることも可能。

tecmemo181126_06

 

選択した画像が右側に表示されます。
左側にある画像が現在アップロードされている画像、右側にある画像が上書きするためにアップロードする画像になります。

 

その下に「メディアを置換する方式を選択」でラジオボタンが2個設置されています。

tecmemo181126_07

 

今回は「image.jpg」を「image_boar.jpg」で上書きすることになりますが、この置換方式の選択によって上書きされる画像の結果が変わります。
置換方式を選択したあと「アップロード」をクリックすることで、上書きが完了します。

tecmemo181126_08

置換方式別の動作について

ここからは各置換方式の説明を致します。

 

1.「ファイルの置換のみ」を選択
画像のファイル名が上書きされません。
今回は「image.jpg」を「image_boar.jpg」で上書きしますが、ファイル名は「image.jpg」のままになります。
差し替え前と差し替え後の画像の、名前が全く同じであるなら、こちらを選択して問題ありません。

tecmemo181126_09

 

2.「ファイルを置換して新しいファイル名で全てのリンクを更新する」
一方でこちらは画像のファイル名も上書きされます。
すでに設置されている画像のパスも自動で書き換わるようになるため、画像を入れ直す必要がありません。

1の条件以外の場合はこちらを選択するとよいでしょう。

tecmemo181126_10

注意点

少ない操作で画像を上書きできるプラグインですが、注意点があります。

まずWPでは画像を使用する際、「フルサイズ」「中サイズ」「サムネイルサイズ」が存在します。
各サイズの設定は左メニューの「設定」→「メディア」から変更が可能です。

ここで注意したい点として、反映前と反映後で画像サイズの比率が異なる場合、
フルサイズ以外の画像は上書きが反映されず消えてしまうことです。
ただし画像はフルサイズしか使わないのであれば、下記の説明は気にしなくてよいでしょう。

まず画像サイズ比率が同じ場合は下記のように画像が差し換わります。

tecmemo181126_11

 

次に反映後の画像を正方形にして、上書きすると下記のように画像が差し換わります。

tecmemo181126_12

 

フルサイズはアップロードした画像に合わせられるため問題なく表示されます。
サムネイスサイズは元々正方形の比率のため、こちらも問題ありません。
ただし、中サイズは異なる比率のため削除されてしまいます。

 

 

注意点だけ意識しておけば、画像上書きの作業時間が短縮される便利なプラグインですね。
インストールから使用方法まで簡単ですので、是非利用されてはいかがでしょうか。

 

以上、クリエイターズメモでした。


可愛い!思わず使いたくなるSVGアニメーション

$
0
0

blog

こんにちは、ウェブラボ技術メモです。

今回は、最近可愛いなぁ〜と思ったSVGアニメーションの紹介をしたいと思います。

 

参考サイトはこちらです。

このサイトはフリーランスのデザイナーさんが運営しているcodropsというサイトの作品の一つです。

イラストも素敵ですが、主張しすぎないSVGを使ったアニメーションがいいですね。

私も早速使ってみました! デモページはこちら

 

■実装方法

1. まずプラグインをこちらからダウンロードします。

 

2. 以下を適宜記述する。

<link rel="stylesheet" type="text/css" href="js/component.css">
<script src="js/snap.svg-min.js"></script>
<script src="js/hovers.js"></script>

 

3. ダウンロードしたindexやindex3を参考にHTMLを記述する。

自分の好きなpathを用意してもいいと思います!

 

4.cssに要素の色などを記述。

 

皆さんもサイトのちょっとしたユニークポイントとして取り入れてみてはいかがでしょうか?

誰でも簡単に使えるスクロールに連動するエフェクト「AOS」

$
0
0

こんにちは、ウェブラボクリエイターズメモです。

今回は、HTML、CSS、jacascriptに関する知識がほとんど無くても簡単にスクロールに連動したエフェクトを実装できてしまう「AOS」を紹介したいと思います。

「AOS」はjQueryが不要なjavascriptのプラグインで非常に軽量であり、多機能です。

導入もとても簡単なので、「エフェクトをいちいち作るの面倒・・・」といった人にも役立つでしょう。

では早速実装していきます。まずは以下の配布元のページ最下部にあるDownloadボタンからファイル一式をダウンロードしてきます。

「AOS」配布元

ダウンロードしたファイルを解凍します。以下の2ファイルが必要となります。

■必要なファイル

aos-master/dist/aos.js
aos-master/dist/aos.css


これらのファイルを任意の場所に設置し読み込みます。

■HTML<head>内

<link rel="stylesheet" href="css/aos.css">


AOSの実行に必要な記述もします。

■HTML</body>上

<script src="js/aos.js"></script>
<script>
	AOS.init(); //AOSの実行に必要
</script>


次に、動かしたい要素に以下のようにdata-aos属性を追加します。

■HTML<body>内

<div data-aos="fade-up">動かしたい要素</div>


必要に応じてdata-aos-***属性で細かな設定が出来ます。以下のものが利用できます。

■細かな設定の記述例

<div
	data-aos="fade-up" //アニメーションの種類
	data-aos-offset="200" //アニメーションさせる要素からトリガーとする位置(px) 
	data-aos-delay="50" // アニメーション開始までの時間、0msから3000msまで(50msごと指定可能) 
	data-aos-duration="1000" // アニメーションにかける時間、0msから3000msまで(50msごと指定可能) 
	data-aos-easing="ease-in-out" // アニメーションのeasing
	data-aos-mirror="true" //アニメーションを一度だけにするか
	data-aos-once="false" //スクロールしながらアニメーションするかどうか
	data-aos-anchor=".other-element" //アニメーションのトリガーにする要素を指定
	data-aos-anchor-placement="top-center" //要素がウィンドウのどの位置でアニメーションするか
>
</div>


説明は以上になります。試しにいくつかDEMOを作ってみました。

DEMOはこちら

配布元のページにもたくさんDEMOがあるので参考にするといいでしょう。

「AOS」配布元

動かしたい要素に属性に少し記述するだけでこれだけのエフェクトを実装できます。とてもお手軽なプラグインだと思うので是非オススメしたいと思います。

以上、クリエイターズメモでした。

iOS一部バージョンのSafariで高さを取得するときに気を付けたいこと

$
0
0

iOS一部バージョンのSafariで高さを取得するときに気を付けたいことこんにちは、ウェブラボクリエイターズメモです。

今回は、iOSの古いバージョンで表示検証をする際に気を付けておきたいことを備忘録として残します。

 

スマホでグローバルナビゲーションをハンバーガーメニューとして表示させることはよく使われる手法かと思います。
その際にメニュー内のコンテンツが多いと、スマホ画面の高さを超えてしまうことがあります。

 

画面の高さを取得し、それを超えたらスワイプ操作でスクロールできるようにするといった対応が可能ですが、iOS一部バージョンのSafariでは、jQueryによる高さの取得が上手くいかないことがあるようです。

 

検証したバージョン

当記事では「iOS12.1.2」「iOS11.3」「iOS11.2」のバージョンを用いて検証し、
「iOS11.3」「iOS11.2」で表示不具合を確認しました。

 

また今回、こちらの記事を参考にさせていただきましたところ、

古いiOSで発生している不具合のようです。

 

iOS8.1のSafariで$(window).height()を使うときの注意点 – 備忘録β版
iOSでは$(window).height() と window.innerHeight の値は違うらしい | Manul Tech

 

一方で「iOS12.1.2」では正常に動作したため、こちらは問題ないでしょう。

 

不具合と原因

例として下記のようなページに、ハンバーガーメニューがあるとします。

 

スマートフォンページ
スマートフォンページ

 

メニューを全てスクロールしたあと、さらに下へスワイプするか
空白部分を下へスワイプすると…

 

スマートフォンページ

 

Safariの上下にあるバーが引っ込み、画面下部にはバーと同じだけの空白ができてしまいました。

裏にあるテキストが見えてしまっている状態です。

 

本来はスクロールしたときに高さを取得することで
空白を作らない動作を想定しておりますが、その高さを上手く取得できていないことが原因となります。

 

解決法

高さ取得のスクリプトではjQueryの下記の記述を使用しておりました。

■jQueryによる高さ取得

$(window).height();

 

これをJavaScriptの下記の記述に変えると正しい値を取得できます。
■JavaScriptによる高さ取得

window.innerHeight;

記述を書き換え、再度検証してみます。

 

スマートフォンページ

 

ステータスバーが引っ込んだときに、再度正しい高さを取得することができました。
jQueryは扱いやすいため使う機会がとても多いですが、今回のように

表示不具合が発生する可能性もあるということを、忘れないようにしておきたいですね。

 

以上、クリエイターズメモでした。

流行りの流体シェイプを作ろう

$
0
0

11111

こんにちは、ウェブラボ技術メモです。

今回は今年流行している、「流体シェイプ」についてご紹介します。

 

■流体シェイプの使われているサイト

2019年に流行するWebデザインの手法に流体シェイプがあるのはご存知ですか?

以下のサイトでは流体シェイプが使われているサイトをまとめているのでぜひ参考にして見てください。

参考サイト:流体シェイプを使ったWebデザインの魅力と参考になるサイト

 

■流体シェイプの作り方

サイトでは、SVGを使って動かす方法が使われていますが、難しいのでまずは

CSSとJSで作る方法をご紹介します。

参考サイト:【CSS】【JavaScript】流体アニメーションを作りたい

 

[HTML]

<div class="fluid rotate gradation"></div>

1、CSSでベースの色を決め、シェイプを作ります。

.fluid {
  width: 300px;
  height: 300px;
  background: rgba( #BCC7E5, 1 );
}

2、CSSでグラデーションをつけます。
(今回は球体なので中心が薄い色、外側に向かってだんだん濃くなるように設定します。)

.gradation {  
  background: radial-gradient(ellipse at center, rgba(225,230,243,0.75) 0%,rgba(188,199,229,0.75) 100%); 
  }

3、CSSで回転させます。

@keyframes rotate {
    0% { transform: rotate( 0 ); }
    100% { transform: rotate( 360deg ); }
  }

4、JSでMath.round()関数を使って、角丸のサイズをランダムに変更します。

$('.fluid').animate({
			borderTopLeftRadius: String(Math.round((Math.random() * randomness02 + threshold02)) + 'px'),
			borderTopRightRadius: String(Math.round((Math.random() * randomness + threshold)) + 'px'),
			borderBottomLeftRadius: String(Math.round((Math.random() * randomness + threshold)) + 'px'),
			borderBottomRightRadius: String(Math.round((Math.random() * randomness02 + threshold02)) + 'px'),
		}

 

試しにデモを作ってみました!

デモページはこちら

新しいデザインを取り入れる際には是非試して見てくださいね!

ドラッグ&ドロップでファイルをアップロードできるプラグイン「Dropify.js」

$
0
0

tecmemo190420

 

こんにちは、ウェブラボクリエイターズメモです。
今回は、フォーム内にファイルのアップロードボタンを実装する際に、ドラッグ&ドロップでファイルをアップロードできるようになるプラグイン「Dropify.js」を紹介します。

 

デモページはこちら
デフォルトのアップロードボタンでは、参照ボタンをクリックしてファイルを選ぶ必要があり、アップロードした後もページ上にはファイル名しか表示されません。
一方「Dropify.js」を使用したアップロード領域では、クリックしてファイルを選択できるのはもちろん、領域にファイルをドラッグ&ドロップするだけでアップロードすることができます。
また、画像をアップロードした場合はサムネイルまで表示されます!
領域にフォーカスを当てるとREMOVEボタンが表示されるので、誤ってアップした際に削除するのも簡単ですね。

 

実装方法

1.プラグインをダウンロードします。

Githubからダウンロードしてください。

使用するファイルはdistフォルダ内の以下になります。

  • dropify.js もしく はdropify.min.js
  • dropify.css もしく はdropify.min.css
  • fontsフォルダ内のフォント(アイコンの表示に必要になります)

2.jsとcssを読み込ませます。

<link rel="stylesheet" type="text/css" href="css/dropify.css">
<script src="js/dropify.js"></script>

3.対象のinputタグに、class=”dropify”を追加します。

<input type="file" class="dropify" name="file">

4.dropify.jsの実行処理を入れます。

先程jsを読み込んだ続きに書きます。

<script>
	$(document).ready(function(){
		$('.dropify').dropify();
	});
</script>

 

以上で、アップローダーが完成です!
デフォルトが英語のため、”Drag and drop~”」”などの説明を日本語にする場合はjsの編集が必要になりますが、簡単に格好良いアップロード機能が実装できるので、ぜひ試してみてください!

Viewing all 87 articles
Browse latest View live