window.addEventListener('touchstart', e => e.preventDefault(), { passive: false });
javascript
Событие keyup в iframe [javascript]
Чтобы установить событие keyup внутри iframe сработает вот такой код:
var iframeBody = $('iframe').contents().find('body'); $(iframeBody).on('keyup',function(data) { console.log(data) });
Перевод текста из английской раскладки в русскую [javascript]
autoKeyboardLang : function(str) { var s = [ "й","ц","у","к","е","н","г","ш","щ","з","х","ъ", "ф","ы","в","а","п","р","о","л","д","ж","э", "я","ч","с","м","и","т","ь","б","ю" ]; var r = [ "q","w","e","r","t","y","u","i","o","p","\\[","\\]", "a","s","d","f","g","h","j","k","l",";","'", "z","x","c","v","b","n","m",",","\\." ]; for (var i = 0; i < r.length; i++) { var reg = new RegExp(r[i], 'mig'); str = str.replace(reg, function (a) { return a == a.toLowerCase() ? s[i] : s[i].toUpperCase(); }); } return str; } ... if( ! /^[а-яё ]*$/i.test(s) ){ $(input).val(autoKeyboardLang(s)); } ....
Выбор параметра cookie [javascript]
var getCookieVar : function (name) { var ar = document.cookie.split(';'); for( var i = 0; i < ar.length; i++ ) { if( ar[i].split('=')[0].replace(' ', '') == name) return ar[i].split('=')[1]; } }
Склонение сеществительного от числа [js]
var declOfNum = function(number, titles) { var cases = [2, 0, 1, 1, 1, 2]; return titles[ (number % 100 > 4 && number % 100 < 20) ? 2 : cases[(number % 10 < 5) ? number % 10 : 5] ]; } //declOfNum(days, ['день', 'дня', 'дней']); //declOfNum(hours, ['час', 'часа', 'часов']); //declOfNum(minutes, ['минута', 'минуты', 'минут']); //declOfNum(seconds, ['секунда', 'секунды', 'секунд']);
Поиск по тексту с выделением [javascript]
Можно использовать в собственно-сделанных селектах для быстрого поиска по ключевым символам или по слову.
var text = "Москва", searchText = "ск", startpos = text.search( new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"), 'i')); //magic text = text.substr(0, startpos + searchText.length) + '</em>' + text.substr(startpos + searchText.length); text = text.substr(0, startpos) + '<em>' + text.substr(startpos); //результат: Москва = Мо<em>ск</em>ва
jQuery checkbox-ы с checked
Иногда элементарным вещам не уделяешь должного места в своей голове и они плохо запоминаются, вот и с этой выборкой так, постоянно забываю o_O
$("input[name='group_name[]']:checked"); || $("input").filter(":checkbox:checked"); || $('input[type="checkbox"]').prop('checked'); || $("input[type='checkbox'][checked='true']"); || $("input:checked");
Редактрование атрибутов тега SVG
$('svg')[0].setAttribute('width', '100%');
Использование javascript библиотеки для построения графиков Highcharts
Из всего что было попробовано остановился на этой библиотеке и не прогадал. Эту библиотеку не даром даже яндекс использует в web мастере. Разобраться можно довольно быстро, есть масса примеров, api тоже не плохо описано. В общем записываю чтобы не забыть.
Ну и результаты работы с Highcharts
Аналитика стоимости 1м? жилья в Ставрополе
Отделение десятых, сотых, тысячных от числа символом [javascript]
Функция вставляет (в данном случае точку) после десятой, сотой, и тысячной доли числа.
var __formatSumm = function(sum) { var c = sum.length, s = sum, m = "", i = 0; while(c--){if(i==3){m+='.'+s[c];i=0;}else{m += s[c];}i++;} return m.split("").reverse().join(""); }
1.000
10.000
100.000
1.000.000
10.000.000
100.000.000
1.000.000.000
10.000.000.000
100.000.000.000
UP
Для php
function __formatSumm($s) { $c = strlen($s); $ar = preg_split('//', $s, -1, PREG_SPLIT_NO_EMPTY); $i = 0; while($c--){if($i == 3){ $m .='.'.$ar[$c]; $i = 0;}else{ $m .= $ar[$c];}$i++;} return strrev($m); }