Skip to content

Instantly share code, notes, and snippets.

Avatar

IgorGavrilenko

View GitHub Profile
View MutationObserver
// MutationObserver
(function(win) {
'use strict';
var listeners = [],
doc = win.document,
MutationObserver = win.MutationObserver || win.WebKitMutationObserver,
observer;
function ready(selector, fn) {
listeners.push({
selector: selector,
View scroll detect
$.fn.hasScrollBar = function() {
return this.get(0).scrollWidth > this.width();
}
function wrapScroll() {
$('.wrap').each(function () {
if ($(this).hasScrollBar()) {
$(this).addClass('is-scroll');
} else {
$(this).removeClass('is-scroll');
}
@IgorGavrilenko
IgorGavrilenko / фиксированные колнки и шапка в таблице
Created Feb 25, 2021
фиксированные колнки и шапка в таблице
View фиксированные колнки и шапка в таблице
div {
max-width: 40em;
max-height: 20em;
overflow: scroll;
position: relative;
}
table {
position: relative;
border-collapse: collapse;
@IgorGavrilenko
IgorGavrilenko / обрезка текста + кнопка еще
Created Feb 17, 2021
обрезка текста + кнопка еще
View обрезка текста + кнопка еще
// !!!dotdotdot-js-2.0.1
/*
<div class="truncable-txt">
text, text, text
<span class="truncable-txt__more">more</span>
<span class="truncable-txt__less">less</span>
</div>
<style>
@IgorGavrilenko
IgorGavrilenko / обрезка текста + кнопка "показать"
Created Feb 17, 2021
обрезка текста + кнопка "показать"
View обрезка текста + кнопка "показать"
/*
<div class="truncable-txt">
text, text, text
<span class="truncable-txt__more">more</span>
<span class="truncable-txt__less">less</span>
</div>
<style>
.truncable-txt--is-truncated .truncable-txt__more,
.truncable-txt--is-not-truncated .truncable-txt__less {
@IgorGavrilenko
IgorGavrilenko / отложенная загрузка скрипта
Last active Jan 31, 2021
отложенная загрузка скрипта
View отложенная загрузка скрипта
<script>
document.addEventListener("DOMContentLoaded", function (event) {
setTimeout(function () {
var resource = document.createElement('script');
resource.async = "true";
resource.src = "";
var script = document.getElementsByTagName('script')[0];
script.parentNode.insertBefore(resource, script);
}, 3000);
});
View DOMNodeInserted
// insertedInit
$(insertedInit);
function uOrderInitInit(){
var $parent = $('.parent');
var $el = '.el';
$parent.on("DOMNodeInserted", function (event) {
$(event.target).find($el).addClass();
});
};
View main.js
// uOrderInitInit
$(uOrderInitInit);
function uOrderInitInit(){
var $filterOutput = $('.filter-output');
var $uOrder = $('.table-u-order__hint');
var $uOrderEl = '.table-u-order__hint';
var $uOrderParent = 'td';
var $uOrderParentClass = 'table-u-order';
if ($uOrder.length) {
$uOrder.parent($uOrderParent).addClass($uOrderParentClass);
@IgorGavrilenko
IgorGavrilenko / php класс для текущей стр
Created Oct 21, 2020
php класс для текущей стр
View php класс для текущей стр
<?php
list($class) = explode('?', $_SERVER['REQUEST_URI']);
$class = str_replace(array('/', '.php'), '', $class);
?>
<?php echo $class ?>
View resetForms
var resetForms = function() {
for (i = 0; i < $jsForm.length; i++) {
$jsForm[i].reset();
}
}
resetForms();