new Date(2017, 0, 1)
? Это первое января текущего года. То есть, условие (new Date()) > ts
всегда оказывается истинным, и... ну да, выставляется дата, на 27 дней больше текущей. Ничего удивительного, что у вас постоянно происходит "обновление счета". Вы уж разберитесь, к какому моменту времени надо делать обратный отсчёт. .recent:hover .info {
.info
находится не внутри, а после .recent
. Делайте так:.recent:hover ~ .info {
Function("process", "return process")(null)
. const a = [ 'a', 'b', 'c', 'd' ];
const b = [ 'a', 'b', 'x', 'y', 'z' ];
const c = a.filter(n => b.indexOf(n) === -1);
// или
const c = a.filter(n => !b.includes(n));
function diff(data1, data2, key = n => n) {
const getKey = key instanceof Function ? key : n => n[key];
const keys = new Set(Array.from(data2, getKey));
return Array.prototype.filter.call(data1, n => !keys.has(getKey(n)));
}
diff([1, 2, 3], [2]) // [1, 3]
diff([{id: 1}, {id: 2}, {id: 3}], [{id: 1}, {id: 3}], 'id') // [{id: 2}]
diff('AbCdE', 'aBc', n => n.toLowerCase()) // ['d', 'E']
Если функция parseInt
встречает символ, не являющийся числом в указанной системе счисления, она пропускает этот и все последующие символы
+/\d+/.exec(el)
. int number = // ну, чему-то там равно, сами подставите
for (int digit = 0; digit < 10; digit++) {
int repeat = 0,
n = number,
p = 10;
do {
int mod = n % p;
if (mod * 10 / p == digit) {
repeat++;
}
n -= mod;
p *= 10;
} while (n);
// что делать с результатом - тоже разбирайтесь сами
printf("%d is repeated %d time(s)\n", digit, repeat);
}
function makeTree($data, $levelField) {
$root = [];
foreach ($data as $d) {
$arr = &$root;
$level = 0;
while ($d[$levelField] > $level++) {
$arr = &$arr[count($arr) - 1]['children'];
}
$arr[] = array_merge($d, [ 'children' => [] ]);
}
return $root;
}
$tree = makeTree($data, 'depth');
<select>
<option hidden></option>
<option>вкладка 69</option>
<option>вкладка 187</option>
<option>вкладка 666</option>
</select>
<div>
<div class="tab">hello, world!!</div>
<div class="tab">fuck the world</div>
<div class="tab">fuck everything</div>
</div>
.tab {
display: none;
}
.tab.active {
display: block;
}
document.querySelector('select').addEventListener('change', function() {
document.querySelectorAll('.tab').forEach((n, i) => {
n.classList.toggle('active', i === this.selectedIndex - 1);
});
});
const $picker = $('.datepicker-here');
$picker.datepicker({
onRenderCell(date, cellType) {
if (cellType === 'day') {
const picker = $picker.data('datepicker');
const selectedDate = picker && picker.selectedDates[0];
if (selectedDate && date > selectedDate && date <= +selectedDate + 86400000 * 3) {
return {
disabled: true,
};
}
}
},
});
.item {
transition: transform 1s;
}
.move {
transform: translateY(150px);
}
$(document).on('click', '.item', function() {
$(this).toggleClass('move');
});
<input type="checkbox" id="xxx">
<label class="item" for="xxx">
...
input[type="checkbox"] {
display: none;
}
input[type="checkbox"]:checked + .item {
transform: translateY(150px);
}
v-model
компонентом f-select
- он должен принимать параметр value
, который будет определять значение элемента <select>
внутри компонента, а при выборе пользователем какого-то пункта выбранное значение должно отправляться родителю:<select
:value="value"
@input="$emit('input', $event.target.value)"
...
country
, и свяжем его c экземпляром компонента, который ответственен за выбор страны:<f-select
v-model="country"
...
disabled
поставить в зависимость от выбора страны:<f-select
:disabled="!country"
...
<div class="xxx"><span>hello, world!!</span></div>
<div class="xxx"><span>fuck the world</span></div>
<div class="xxx"><span>fuck everything</span></div>
<div class="xxx"><span>69</span></div>
<div class="xxx"><span>187</span></div>
<div class="xxx"><span>666</span></div>
.xxx {
display: inline-block;
width: 250px;
}
.xxx > span {
background: #ddf;
}
data: () => ({
items: [ '...', '...', ... ],
}),
<a v-for="(n, i) in items" :href="`#item_${i}`">{{ n }}</a>
<ul>
<li v-for="(n, i) in items" :id="`item_${i}`">{{ n }}</li>
</ul>
string s = "01234567890,#";
if (s.find(a[i]) != string::npos) {