Skip to content

Instantly share code, notes, and snippets.

View duzun's full-sized avatar
🎯
Focusing

Dumitru Uzun duzun

🎯
Focusing
View GitHub Profile
@duzun
duzun / async_css.html
Last active August 29, 2015 14:04
Easiest and most natural way to load CSS asynchronously without blocking HTML rendering! Tested on https://limitlesslane.com/ https://casadelux.ru/ and other projects by DUzun.ME
<html>
<head>
<!-- The <script> switches rel="prefetch" to rel="stylesheet" at proper time, et voila, magic happens :-) -->
<link rel="prefetch" type="text/css" href="https://cdn.limitlesslane.com/css/mini/async_lib.css" />
<link rel="stylesheet" type="text/css" href="https://cdn.limitlesslane.com/css/mini/lib.css" />
<link rel="stylesheet" type="text/css" href="https://cdn.limitlesslane.com/css/mini/app.css" />
<link rel="prefetch" type="text/css" href="https://cdn.limitlesslane.com/css/mini/async_app.css" />
<script>
;(function(w,d){
@duzun
duzun / 0_reuse_code.js
Last active August 29, 2015 14:07
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
@duzun
duzun / jq.fn.getAttributes.js
Last active August 29, 2015 14:08
jQuery.fn.getAttributes
/*
source: http://stackoverflow.com/questions/2048720/get-all-attributes-from-a-html-element-with-javascript-jquery/16935800#16935800
*/
(function($) {
$.fn.getAttributes = function () {
var elem = this,
attr = {};
if(elem && elem.length) $.each(elem.get(0).attributes, function(v,n) {
n = n.nodeName||n.name;
@duzun
duzun / jq.fn.findAll.js
Last active August 29, 2015 14:09
findAll() jQuery plugin - a combination of filter, closest and find in one call
/**
* Find selector in this and descendants of this.
* if up == true, search parents as well.
*
*/
;(function (global) {
var $ = global.jQuery || global.Zepto;
$.fn.findAll = function findAll(selector, up) {
@duzun
duzun / jq.fn.$each.js
Last active August 29, 2015 14:09
4-10 times faster jQuery.fn.each() replacement
/**
* 4-10 times faster .each replacement
* use it carefully, as it overrides jQuery context of element on each iteration
*
* function clb(DOM, idx, $DOM, DOM) {};
* $DOM == $(DOM), is the same object throughout iteration
*
*/
;(function (global) {
@duzun
duzun / jq.fn.disEnAble.js
Last active August 29, 2015 14:09
A small jQuery plugin to enable/disable any form element, and any generic element (with 'disabled' class)
/**
* A small jQuery plugin to enable/disable any form element,
* and any generic element (with 'disabled' class)
*/
;(function (global) {
var $ = global.jQuery || global.Zepto;
$.fn.enable = function (cls) {
var prp = 'disabled';
@duzun
duzun / jq.fn.outerHTML.js
Created November 12, 2014 09:25
Gets outerHTML of an element
/**
* Gets outerHTML of an element
*/
;(function (global) {
var $ = global.jQuery || global.Zepto;
$.fn.outerHTML = function fouterHTML() {
$t = $(this);
if ('outerHTML' in $t[0]) {
@duzun
duzun / jq.fn.maxZIndex.js
Created November 12, 2014 09:32
Finds maximum zIndex of an element
/**
* Finds maximum zIndex of an element
*/
;(function (global) {
var $ = global.jQuery || global.Zepto;
var maxZIndex = function maxZIndex(el,min) {
var el = this
, zIdx = el.css('zIndex')
//*******************************************
// Level 1, basic API, minimum support
//*******************************************
/*
Modules IDs are strings that follow CommonJS
module names.
*/
//To load code at the top level JS file,
//or inside a module to dynamically fetch
@duzun
duzun / header_cache.php
Last active August 29, 2015 14:11
Set cache control headers and manage http cache logic
/**
* Set cache control headers and manage http cache logic.
*
* @param (int|bool) $expires: true - use cache, false - no cache, int - expires timeout
* @param (time) [$modified]: Last modification time stamp
* @param (string) [$etag]: ETag content identifier
* @param (int) [$die]: 0 - no die, 1 - die on 304, -1 - no 304 headers
*
* @return (mixed) status code if cache, false if headers sent, true otherwise
*