<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();
public static function renderPaginator($total, $current, $indent = 3)
{
$start = 1 + $indent;
$end = $total - $indent;
$mid_start = $current - $indent;
$mid_end = $current + $indent;
?>
<nav style="margin: 0 auto;">
<ul class="pagination">
<?
$skip1 = ($current < $start || $current > $end);
if ($current == 1) { // previous
?><li class="disabled"><a href="#" aria-label="Previous"><span aria-hidden="true">«</span></a></li><?
} else {
?><li><a href="?page=<?=($current-1)?>" aria-label="Previous"><span aria-hidden="true">«</span></a></li><?
}
for ($p = 1; $p <= $total; $p++) { // each page
if ($p == $current) {
?>
<li class="active"><a href="#"><?=$p?> <span class="sr-only">(текущая)</a></li><?
} else {
if($p < $start
|| ($p > $mid_start && $p < $mid_end)
|| $p > $end
|| ($p == $start && $p == $mid_start)
|| ($p == $end && $p == $mid_end)
) {
?>
<li><a href="?page=<?=$p?>"><?=$p?></a></li><?
} elseif($p == $start || $p == $end) {
?>
<li class="disabled"><a href="#">...</a></li><?
}
}
}
if ($current == $total) { // next
?><li class="disabled"><a href="#" aria-label="Next"><span aria-hidden="true">»</span></a></li><?
} else {
?><li><a href="?page=<?=($current-1)?>" aria-label="Next"><span aria-hidden="true">»</span></a></li><?
}
?>
</ul>
</nav>
<?
}
1 -2 - 3 ... 39 - 40 - 41 - 42 - 43 -44 - 45 ... 98 - 99 -100