<div class="foo"><input type="text"></div>
.foo {
position: relative;
box-sizing: border-box;
}
.foo input {
padding-left: 1em;
}
.foo::before {
content: '$';
position: absolute;
top: 2px; left: 3px;
pointer-events: none;
}
https://jsfiddle.net/1uhgL0mx/ <fieldset><legend>Hello World</legend></fieldset>
fieldset {
border: 0;
border-top: solid 1px red;
}
legend {
margin: 0 auto;
padding: 1em;
}
https://jsfiddle.net/umLocy7e/jQuery.expr[":"].textEqual = jQuery.expr.createPseudo(function(arg) {
return function( elem ) {
return jQuery(elem).text() === arg.trim();
};
});
https://jsfiddle.net/ywea6cok/ if (h > 19 || h < 20) {...}
если h больше девятнадцати или меньше двадцати, то...
Math.floor(Math.random(1, 3)) * 1000
вычисляется один раз при запуске, и потом только с этим интервалом и работает.(function(){
var a = b = c = true, lamp = document.querySelector('.lamp')
setInterval(function(){
if (a && b && c) {
lamp.classList.add('off')
setTimeout(function(){
lamp.classList.remove('off')
}, 40) // это три кадра при 60 fps
}
}, 200)
setInterval(function(){ a = !a }, 300)
setInterval(function(){ b = !b }, 500)
setInterval(function(){ c = !c }, 700)
})()
числа в таймерах можно подправить на свой вкус.lamp::before,
.lamp::after {
background: transparent;
animation: blink 7.5s step-start infinite;
}
.lamp::after {
animation-duration: 13s;
}
.lamp img {
animation: blink 3s step-start infinite;
}
@keyframes blink {
0%, 1% { background: #000; }
100% { background: transparent; }
}
https://jsfiddle.net/wo78t98z/1/ (код)()
element.files[0]
у элемента, у которого вообще нет .files
. Проще всего посмотреть в отладчике, который встроен в DevTools браузера. data.forEach(function(e) {
e.country = 'Hello world';
})
https://jsfiddle.net/t3e61bu5/ SELECT * FROM `video` ORDER BY 'id' LIMIT 5 OFFSET 10
вернет результаты с одиннадцатого по пятнадцатый. Limit = сколько выбрать результатов, offset - сколько пропустить.$results_per_page = 19;
$page = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; // если страница не указана, то будет 1
$limit = $results_per_page;
$offset = $results_per_page * ($page - 1); // для вторй страницы отступ будет 19, для третьей - 38 и так далее.
jQuery.fn.exists = function () {
return this.length !== 0
}
// пример использования:
if ($('.someElement').exists()) { ... }
более читабельный код чем
if ($('.someElement').length) { ... }
jQuery.expr[":"].ContainsIgnoreCase = jQuery.expr.createPseudo(function(arg) {
return function( elem ) {
return jQuery(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
// аналог :contains() ( https://api.jquery.com/contains-selector/ ) но не зависит от регистра
// пример https://jsfiddle.net/e4hkhxrm/
// и третье, пореже
jQuery.fn.selectRange = function(start, end) {
return this.each(function() {
if(this.setSelectionRange) {
this.focus();
this.setSelectionRange(start, end);
} else if(this.createTextRange) {
var range = this.createTextRange();
range.collapse(true);
range.moveEnd('character', end);
range.moveStart('character', start);
range.select();
}
})
}
// выделение текста. пример: https://jsfiddle.net/3jn6xgm1/
new Date('2017-08-20 00:00:00 GMT+0300')
var a = new Date;
использовать var a = <?=round(microtime(true) * 1000);?>
String.prototype.myMeth = function(){
return this.toUpperCase().replace(/"/g, "'");
}
'не изменяйте ВСТРОЕННЫЕ прототипы, пожалуйста'.myMeth();