Skip to content

Instantly share code, notes, and snippets.

View YusukeHirao's full-sized avatar

Yusuke Hirao YusukeHirao

View GitHub Profile
@YusukeHirao
YusukeHirao / jquery.wai-area.js
Created February 10, 2014 07:59
WAI ARIAに準じたインターフェイスを実装するためのjQueryプラグイン。 「role=button」編
$.fn.roleButton = function () {
return this.each(function (method) {
var $this,
isPressed;
function updatePressed () {
$this.attr('area-pressed', isPressed);
}
function changePressed () {
isPressed = !isPressed;
updatePressed();
@YusukeHirao
YusukeHirao / file0.txt
Created March 7, 2014 08:16
jQuery `'#'` がセレクターになる場合気をつける。 ref: http://qiita.com/YusukeHirao/items/78f3c8c5354c4fbcc550
$('#');
@YusukeHirao
YusukeHirao / placeholder4ie8.js
Created May 23, 2014 05:21
input[placeholder] IE8対応メモ そのうちリファクタリング&プラグイン化する
$(document).ready(function(){
var isIE8 = document.getElementsByClassName == null;
var dColor = '#999999'; //ヒント(初期値)の文字色
var fColor = '#373331'; //通常入力時の文字色
var $inputHint = $('.input_hint');
var defaultValue = $inputHint.val();
var placeholder = $inputHint.attr('placeholder');
if (isIE8) {
//初期状態の文字色
@YusukeHirao
YusukeHirao / jquery.imgLoaded.js
Last active August 29, 2015 14:07
その要素内の画像がロードされてからコールバックを実行するプラグイン。画像のロードを必須とする処理にラップする。
$.fn.imgLoaded = function (callback) {
return this.each(function() {
var self = this;
var $this = $(self);
var manifest = [];
var $imgs = $this.find('img');
$imgs.hide();
$imgs.each(function() {
var loaded = $.Deferred();
var img = new Image();
@YusukeHirao
YusukeHirao / q2json.js
Created December 15, 2014 05:00
クエリ文字列をJSONに変換。配列リテラル対応。
function queryToJSON (query) {
query = query.replace(/^\?/, '');
var knVList = query.split(/&|&/ig);
if (!knVList || !knVList[0]) return null;
var hash = {};
var knV, key, val;
var _a;
for (var i = 0; i < knVList.length; i++) {
knV = knVList[i].split('=');
key = knV[0];
@YusukeHirao
YusukeHirao / alternateLink.js
Last active August 29, 2015 14:11
UA / URLでの判定でリダイレクト
@YusukeHirao
YusukeHirao / baser.scrollEvent.js
Created March 9, 2015 10:38
baser.scrollEvent.js構想
baser.event = baser.event || {};
baser.event._scrollEvents = baser.event._scrollEvents || [];
baser.event._undevideScrollEvents = baser.event._undevideScrollEvents || [];
baser.event.scroll = baser.event.scroll || function (baserEventObject, undevide) {
if (baser.event._scrollEvents.length === 0) {
// 計算結果をアニメーションフレーム毎にDOMに反映
var animation = new baser.ui.AnimationFrames(function () {
@YusukeHirao
YusukeHirao / file0.js
Last active August 29, 2015 14:17
JavaScriptでのサロゲートペア文字列のメモ ref: http://qiita.com/YusukeHirao/items/2f0fb8d5bbb981101be0
// シングルクォートとダブルクォートの差はない
"\u3042"; // => "あ"
'\u3042'; // => "あ"
// 正規表現リテラルでも表現可能
/\u3042/.test('あ'); // => true
@YusukeHirao
YusukeHirao / spoff4bc.js
Last active August 29, 2015 14:24
baserCMSのsmartphone=off時のリダイレクトスニペット
/**
* smartphone=off対応
*
*/
var key = 'smartphone';
var val = 'off';
var dir = 'sp';
// URLパラメータにsmartphoneがある場合、
// リンク先にもパラメータを追加する
@YusukeHirao
YusukeHirao / 1.html
Created September 23, 2012 06:31
Pattern of HTML5
<input type="text" name="hoge" pattern="abc">