Skip to content

Instantly share code, notes, and snippets.

@mio-U-M
mio-U-M / _mixin.styl
Last active February 22, 2020 17:09
mixin for stylus (補足) stylusを入れる時こいつを入れてやると強い http://kouto-swiss.io/ stylusの独自関数で結構使えるやつがある。ので、そいつらをつど使っていくと良い http://stylus-lang.com/
/**
* PC表示の時にのみ適用。
*/
pc-layout()
@media (min-width $pc_min_width)
{block}
/**
* SP表示の時にのみ適用。
*/
@mio-U-M
mio-U-M / rgbshift.frag
Created February 22, 2020 16:57
RGBずらしのフィルタ
varying vec2 vTextureCoord;
uniform vec4 filterArea;
uniform sampler2D uSampler;
uniform float colorShiftR;
uniform float colorShiftG;
uniform float colorShiftB;
void main() {
vec2 rOffset = vec2(colorShiftR) / filterArea.xy;
@mio-U-M
mio-U-M / scrollinfo.js
Last active February 22, 2020 14:17
※ I'm not sure whether this script is useful
// # このライブラリで参照できるもの
// ## X軸方向編(横方向・幅周り)
// - 現在のスクロール量(X)を取得
// - 現在のウィンドウの幅(ブラウザ上で見えている表示領域)を取得
// - 現在のドキュメントの幅(ウィンドウから見えていない領域外も含めた幅)を取得
// - 現在のスクロール位置を取得(X)を取得
// ## Y軸方向編(横方向・高さ周り)
// - 現在のスクロール量(Y)を取得
// - 現在のウィンドウの高さ(ブラウザ上で見えている表示領域)を取得
// - 現在のドキュメントの高さ(ウィンドウから見えていない領域外も含めた幅)を取得
@mio-U-M
mio-U-M / makeRenbanAnime
Created February 22, 2020 14:16
※ I'm not sure whether this script is useful
/*
* makeRenbanAnime 連番用のアニメーションスクリプト
* 背景画像は一番左上から始まり右へ進んで最終的に一番右下に到達するもので作られていること想定
* @param [element] elm アニメーションする要素
* @param [Number] width 背景画像の幅(px)
* @param [Number] height 背景画像の幅(px)
* @param [Number] col 1コマあたりの幅(px)
* @param [Number] row 1コマあたりの高さ(px)
* @param [Number] duration アニメーションの感覚(ミリ秒)
* @param [Boolean] isloop 繰り返し有無(true:有 false:無)
@mio-U-M
mio-U-M / lottie controller
Last active February 22, 2020 16:58
lottieを使うときのクラス
import lottie from 'lottie-web'
import EventEmitter2 from 'eventemitter2'
// 'BASE_DIR' is image directory root path
import { BASE_DIR } from '~/config'
// custmize here depending on your lottie files
const LOTTIE_LIST = {
logo: 'logoAni.json',
upload: 'uploadAni.json',
graph: 'graphAni.json'
@mio-U-M
mio-U-M / nuxt-resolve-path.js
Last active February 22, 2020 17:00
nuxt用のimageアセット読み込み関数
export default {
image: (path) => require(`~/assets/img/${path}`)
}
var easing = {
linear : function (t){
return t;
},
easeInQuad: function (t) {
return t*t;
},
easeOutQuad: function (t) {
return -1 *t*(t-2);
},
@mio-U-M
mio-U-M / Timer Class
Last active February 22, 2020 17:01
requestAnimationFrameベースで動くタイマーです。 timekeep(5000)という風にミリ秒を渡してやることでタイマーが動き出し、終了した際にeventEmiterがfinishを返すので、クラス生成元でコールバック処理を記載できます。 EventEmitterに依存しています。 visibilitychangeイベントに対応しているので、一度画面から離れてそのあと画面復帰したあとも残り時間を計測し続けます。
/**
* TimerClass
* 時間計測してくれるタイマークラス.タイマーが終了した際にeventEmiterでfinishを返します。
* @param {Number} ms 計測してほしいms時間
*/
import EventEmitter from 'events';
export default class TickingTimer extends EventEmitter {
constructor(ms) {
@mixin form-style-reset {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
var wrapper = document.querySelector(".wrapper");
var ua = window.navigator.userAgent;
wrapper.dataset.ua = (function() {
if(ua.indexOf('iPhone') > 0 || ua.indexOf('iPod') > 0 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0){
return 'sp';
}else if(ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0){
return 'tab';
}else{
return 'pc';