Skip to content

Instantly share code, notes, and snippets.

@RyoSugimoto
RyoSugimoto / tabs.js
Last active August 29, 2015 14:07
タブUIを実装するjQueryプラグイン(その1)。
$.fn.tab = function (options) {
options = $.extend({}, {
activeClass: 'is-active',
defaultTab: 0,
onInit: function ($panels, $tabs) {
$.noop();
},
onChange: function ($panels, $panel, $tab) {
$.noop();
}
@RyoSugimoto
RyoSugimoto / cdn.md
Created October 9, 2014 01:21
CDNが利用できるサービスのリンク集。
@RyoSugimoto
RyoSugimoto / ie_hacks.css
Created October 9, 2014 01:26
IE用のCSSハック集。
/* IE6 以下 */
* html .selector {}
.selector { _color: #FFF; }
/* IE7 */
*:first-child+html .selector {}
*+html .selector {}
/* IE6, 7 */
.selector { /color: #FFF; }
@RyoSugimoto
RyoSugimoto / get_xml.js
Created October 9, 2014 07:54
外部のXMLファイルを読み込む。
$.ajax({
url: 'data.xml',
type: 'GET',
dataType: 'xml',
timeout: 20000,
error: function () {
},
success: function (xml) {
var xmlTree = $(xml);
}
@RyoSugimoto
RyoSugimoto / scroll.js
Last active August 29, 2015 14:07
任意の位置までスクロールする方法(絶対・相対)。
// ページの上から指定した位置まで移動する
scrollTo(0, 400);
document.body.scrollTop = 400;
// jQueryを使用した方法
$('html, body').scrollTop(400);
// 現在の位置から指定した距離までスクロールする
scrollBy(0, 100);
@RyoSugimoto
RyoSugimoto / hide_address_bar.js
Last active August 29, 2015 14:07
スマートフォンで、ページを読み込んだときに、ブラウザのアドレスバーを隠す。
window.addEventListener("load", function() {
setTimeout(scrollBy, 100, 0, 1);
}, false);
// setTimeout()は
// 第三引数以降で、
// 第一引数で渡した関数に渡す値を
// 指定できる
// scrollByではなくscrollToを使う方法が
@RyoSugimoto
RyoSugimoto / fade_in.js
Last active August 29, 2015 14:07
要素をフェードインさせる関数。
function fadeIn (elm) {
var last = +new Date();
elm.style.opacity = 0;
tick();
function tick () {
elm.style.opacity = +el.style.opacity + (new Date() - last) / 400;
last = +new Date();
if (+elm.style.opacity < 1) {
(window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);
}
@RyoSugimoto
RyoSugimoto / html_class.js
Last active August 29, 2015 14:07
HTMLのクラスを操作するための関数。
// クラスの付与
function addClass (elm, className) {
if (elm.classList) {
elm.classList.remove(className);
} else {
elm.className += ' ' + className;
}
}
// クラスの削除
@RyoSugimoto
RyoSugimoto / deep_extend.js
Last active August 29, 2015 14:07
オブジェクトを結合する関数。
function deepExtend (out) {
out = out || {};
for (var i = 1; i < arguments.length; i++) {
var obj = arguments[i];
if (!obj) {
continue;
}
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
if (typeof obj[key] === 'object') {
@RyoSugimoto
RyoSugimoto / dom.js
Created October 10, 2014 09:14
DOM関連のスニペット集。
// 要素の追加
elm.insertAdjacentHTML('afterend', htmlString);
elm.insertAdjacentHTML('beforebegin', htmlString);
parent.appendChild(elm);
parent.insertBefore(el, parent.firstChild);
// トラヴァース
document.querySelectorAll('.my #awesome selector'); // セレクタで指定した要素を、ドキュメント全体から取得
elm.querySelectorAll(selector); // セレクタで指定した要素を、子孫から取得
elm.children; // 子要素