selectLink - manabuyasuda/jquery-plugins GitHub Wiki
スマホとPCでhref
属性を切り替えるスクリプトです。カスタムデータ属性のdata-select-link
に小さいサイズからURLを記述します。ウィンドウサイズによって動的に切り替わります。
- カスタムデータ属性に
data-select-link
を使用します。 - 値にはシングルクオーテーションとブラケットで囲み、小さいウィンドウサイズ用のURLから指定、ダブルクオーテーションで囲み、カンマでつなげる
<a href="example.com/sp" data-select-link='["example.com/sp", "example.com/pc"]'></a>
chageWidth
には切り替えるウィンドウサイズ(デフォルト768px)を指定します
$(function() {
function selectLink() {
// 処理対象とする要素。
var $selectLink = $('[data-select-link]');
// リンクを切り替えるウィンドウサイズ。
var chageWidth = 768;
// href属性に渡すURLを格納する変数の初期化。
var setData = {};
// 現在のウィンドウサイズの測定。
var windowWidth = window.innerWidth;
$selectLink.each(function() {
var $this = $(this);
// カスタムデータ属性からhref属性に指定する値を配列で取得。
var $data = $this.data('select-link');
// src属性の切り替え。
if(windowWidth >= chageWidth) {
setData = $data[1];
} else {
setData = $data[0];
}
$this.attr('href', setData);
console.log(setData);
});
}
selectLink();
// 動的なリサイズは操作後0.2秒経ってから処理を実行する。
var resizeTimer;
$(window).on('resize', function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
selectLink();
}, 200);
});
});