Skip to content

Instantly share code, notes, and snippets.

View wayferer's full-sized avatar
🧙‍♂️
Working from home

Abdullah Norozi Iranzad wayferer

🧙‍♂️
Working from home
View GitHub Profile
@wayferer
wayferer / 0_reuse_code.js
Created January 30, 2014 16:35
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@wayferer
wayferer / ellipsis.js
Created January 30, 2014 16:45
a way to add multi-line ellipsis
function zAddMulilineEllipsis(el,container,maxHeight){
var tag,tagHeight,tagContentHeight;
tag=el;
tagContentHeight=tag.scrollHeight;
if(maxHeight===undefined){tagHeight=tag.offsetHeight;}else{tagHeight=maxHeight;}
if(tagContentHeight>tagHeight){
if(container=='parent'){zAddClass(tag.parentNode,'applyEllipsis');}
else if(container=='self'){zAddClass(tag,'applyEllipsis');}
}
}
@wayferer
wayferer / helpers.js
Last active February 5, 2019 21:57
My default set of JS helpers
function zQ(selector){return document.querySelector(selector);}
function zQA(selector){return document.querySelectorAll(selector);}
function zAddClass(el,className){
if(el === null) { return; }
if(!((' '+el.className+' ').indexOf(' '+className+' ')>-1)){el.className+=' '+className;}
}
function zHasClass(el,className){
//if((' '+el.className+' ').indexOf(' '+className+' ')>-1){return true;}
//else{return false;}
return new RegExp(' '+className+' ').test(' '+el.className+' ');
@wayferer
wayferer / html.html
Created January 31, 2014 15:41
In order to enable :hover / :active states in touch devices
<body ontouchstart="">
@wayferer
wayferer / js.js
Created February 3, 2014 21:15
phonegap check if Android or iOS
function isAndroid(){
return navigator.userAgent.toLowerCase().indexOf("android") > -1;
}
isAndroid();
function isIOS(){
return navigator.userAgent.match(/(iPad|iPhone|iPod)/i) != null;
}
isIOS();
@wayferer
wayferer / js.js
Created February 3, 2014 21:16
catch window errors
window.onerror = function(a,b,c) {
alert(a + "; " + b + "; " + c);
}
@wayferer
wayferer / anotherway.html
Last active September 11, 2015 21:47
youtube video load with custom image (with youtube image fallback) and custom playbutton with fallback for touch devices. Needs to be optimized / done better. relies on my helper.js
<div class="fluidVidContainer">
<div class="fluidVidContainer-overlay">
<img src="<%= asset_path('video-overlay-theroadtolife.png') %>" alt="" class="video-thumb">
<button class="btn_play js-youtubePlay" data-ytID="ScMzIvxBSi4">
<span class="icon icon-play"><i class="fa fa-play"></i></span>
<span class="video-title">The Road to Life?<span class="video-duration">3 min 7 sec</span></span>
</button>
</div>
</div>
@wayferer
wayferer / js.js
Last active May 27, 2019 19:19
JS scroll to anchor
//requires helpers.js
function zScrollToAnimate(el,from,to,time){
var start=new Date().getTime();
var timer=setInterval(function(){
var step=Math.min(1,(new Date().getTime()-start)/time);
el.scrollTop=from+step*(to-from);
//el.scrollTo(0,from+step*(to-from));
if(step==1){clearInterval(timer);}
},25);
}
@wayferer
wayferer / css.sass
Created February 12, 2014 17:50
sticky nav
.productSubNavContainer{
height:44px;
box-shadow:inset 0 1px 0 0 rgba(0,0,0,0.1);
background-color:#D6D9DC;
}
.productSubNav{
&.fixed{
@include z-position(fixed,0px,0px,0,0px);
box-shadow:inset 0 1px 0 0 rgba(0,0,0,0.1);
background-color:#D6D9DC;
@wayferer
wayferer / js.js
Created February 12, 2014 20:11
modal (incomplete)
//requires helpers.js
function showDialog(dialogToShow,event){
event.preventDefault ? event.preventDefault():event.returnValue=false;
zAddClass(zQ('body'),'overflowHidden');
zAddClass(zQ('.backdrop'),'displayBlock');
zAddClass(zQ('.dialog'),'displayBlock');
}
function hideDialog(event){
event.preventDefault ? event.preventDefault():event.returnValue=false;
zRemoveClass(zQ('body'),'overflowHidden');