Skip to content

Instantly share code, notes, and snippets.

@Inontran
Inontran / decline-word.js
Created August 27, 2021 12:57
склонение слов в зависимости от числителя
//declineWord
function declineWord(number, titles){
const numberOfEnding = [2, 0, 1, 1, 1, 2];
const isLastEnding = number % 100 > 4 && number % 100 < 20;
const correctEnding = (number % 10 < 5) ? number % 10 : 5;
return titles[isLastEnding ? 2 : numberOfEnding[correctEnding]];
//use:
//declineWord(count, ['гость', 'гостя', 'гостей']);
}
@Inontran
Inontran / rate-star.html
Last active March 3, 2021 01:15
код рейтинга со звездочками
<div class="rate-star">
<div class="rate-star__stars-wrapper">
<input type="hidden" class="rate-star__input" value="3.5" readonly="" />
<span class="rate-star__star" data-number-star="5"></span>
<span class="rate-star__star" data-number-star="4"></span>
<span class="rate-star__star" data-number-star="3"></span>
<span class="rate-star__star" data-number-star="2"></span>
<span class="rate-star__star" data-number-star="1"></span>
</div>
</div>
@Inontran
Inontran / guide_icon.tpl
Created January 31, 2021 11:05
код php для загрузки иконок в guide
<h2 class="bg-warning p-4 mb-4">Иконки</h2>
<div class="row mx-n2 pb-5">
<?php
$path_to_file = BASE . 'styles/images/icons' . DS;
$scanned_directory = array_values(array_diff(scandir($path_to_file), array('..', '.')));
?>
<?php for($i = 0; $i < count($scanned_directory); $i++):?>
<div class="col-auto px-2">
<img src="<?=SITE. 'styles/images/icons/' . $scanned_directory[$i];?>">
@Inontran
Inontran / dotdotdot-more-less.js
Created December 25, 2020 10:09
HTML-CSS-JS код для плагина jquery dotdotdot, реализцющий кнопки больше-меньше текста
$('.dotdotdot').each(function(){
$(this).dotdotdot({
keep: '.dotdotdot__toggle-collapse',
callback: function(isTruncated){
if( isTruncated ){
$(this).find('.dotdotdot__more').css('display', 'block');
}
$(this).find('.dotdotdot__less').css('display', 'none');
}
});
@Inontran
Inontran / jquery-passive.js
Created December 21, 2020 01:13
пассивные прослушиватели событий для jquery
jQuery.event.special.touchstart = {
setup: function( _, ns, handle ){
if ( ns.includes("noPreventDefault") ) {
this.addEventListener("touchstart", handle, { passive: false });
this.addEventListener("touchmove", handle, { passive: false });
this.addEventListener("scroll", handle, { passive: false });
} else {
this.addEventListener("touchstart", handle, { passive: true });
this.addEventListener("touchmove", handle, { passive: true });
this.addEventListener("scroll", handle, { passive: true });
@Inontran
Inontran / reverse-elements.js
Created October 9, 2020 07:00
переставить дочерние элементы в обратном порядке
reverseCoords: function($partItem){
$items = $('.point-coords__items-js', $partItem);
$items.children().each(function (i, li) {
$items.prepend(li);
});
this.rewriteSerialNumberPoints($items);
},
@Inontran
Inontran / owlCarouselStart-2.js
Created September 12, 2020 01:51
функция создание каруселей
$.fn.owlCarouselStart = function(){
var options = {
loop: false,
nav: false,
dots: false,
autoplay: false,
margin: GUTTER,
};
@Inontran
Inontran / passive-support.js
Created August 13, 2020 03:11
проверка на поддержку passive
var passiveSupported = false;
try {
window.addEventListener(
"test",
null,
Object.defineProperty({}, "passive", { get: function() { passiveSupported = true; } }));
// console.log('passiveSupported == ' + passiveSupported);
} catch(err) {}
document.addEventListener('scroll', function(){
@Inontran
Inontran / clipboard.js
Created August 5, 2020 05:15
скопировать текст в буфер обмена
$('body').on('click', '.clipboard', function(event){
event.preventDefault();
var text_source = $(this).attr('data-source');
var text = $(text_source).text();
var $temp = $("<input>");
$("body").append($temp);
$temp.css({
position: 'absolute',
zIndex: '-1000'
@Inontran
Inontran / lazyload-owl-carousel.js
Last active July 23, 2020 06:35
lazyload каруселей