scroll по некоторым причинам (таким как некорректная работа скрипта и визуально некрасиво) использовать нельзя
искать сотню книг, пренадлежащих одному автору, из миллиарда
Ethernet это типо сколько проводочков надо и какие МГц через них передавать.
if (
document.getElementById('apple').style.display == 'none' &&
document.getElementById('shoe').style.display == 'none' &&
document.getElementById('book').style.display == 'none' &&
document.getElementById('purse').style.display == 'none'
) {
document.getElementById('begin').style.display = 'none';
}
$("#box1:checked, #box2:checked").val()
$('#logistic input:checked').get().reduce((acc, n) => acc + +n.value, 0)
let arrayFirst = [2, 5, 8, 1];
let arraySecond = [
{id: 34, name: 'test'},
{id: 5, name : 'test1'},
{id: 123, name: 'test2'}
];
// Если нужны все
const all = arraySecond.filter((y) => arrayFirst.includes(y.id));
// Если только первое совпадение
const first = arraySecond.find((y) => arrayFirst.includes(y.id)));
.icon_circle-empty-new {
background: url(/lop2.png) 22px 0px;
}
$('input[name="PAY_SYSTEM_ID"]').on("click", function() {
var value = $(this).val();
if (value == 1){
$(this).toggleClass('icon_circle-empty icon_circle-empty-new');
}
else if (value == 2){
// меняем стиль
}
//... и так далее
});
// Берем входящий массив:
$input = [
[
'gq_address' => '188.120.254.140',
'gq_hostname' => '• RGPlay | DarkRP [Быстрая загрузка]',
'gq_maxplayers' => 128,
'gq_numplayers' => 0,
'gq_online' => true,
'gq_port_client' => 27015,
],
[
'gq_address' => '62.109.18.242',
'gq_hostname' => 'Default Breach Server',
'gq_maxplayers' => 128,
'gq_numplayers' => 0,
'gq_online' => true,
'gq_port_client' => 27015,
],
];
// Определяем желаемый порядок ключей:
$order = [
'gq_hostname',
'gq_address',
'gq_port_client',
'gq_online',
'gq_numplayers',
'gq_maxplayers',
];
// Перебираем элементы входящего массива и сортируем их по ключам:
$output = array_map( function($array) use ($order)
{
// Эта функция сортирует по ключам
uksort( $array, function($a, $b) use ($order)
{
$a_desired_position = array_search($a, $order, true);
$b_desired_position = array_search($b, $order, true);
// Вот тут вся магия:
// нужно вернуть отрицательное число, 0 или положительное число,
// в зависимости от положения одного элемента относительно другого.
return $a_desired_position - $b_desired_position;
} );
return $array;
}, $input );
var_dump($input);
var_dump($output);
// Входящий массив:
array:2 [▼
0 => array:6 [▼
"gq_address" => "188.120.254.140"
"gq_hostname" => "• RGPlay | DarkRP [Быстрая загрузка]"
"gq_maxplayers" => 128
"gq_numplayers" => 0
"gq_online" => true
"gq_port_client" => 27015
]
1 => array:6 [▼
"gq_address" => "62.109.18.242"
"gq_hostname" => "Default Breach Server"
"gq_maxplayers" => 128
"gq_numplayers" => 0
"gq_online" => true
"gq_port_client" => 27015
]
]
// Отсортированный массив:
array:2 [▼
0 => array:6 [▼
"gq_hostname" => "• RGPlay | DarkRP [Быстрая загрузка]"
"gq_address" => "188.120.254.140"
"gq_port_client" => 27015
"gq_online" => true
"gq_numplayers" => 0
"gq_maxplayers" => 128
]
1 => array:6 [▼
"gq_hostname" => "Default Breach Server"
"gq_address" => "62.109.18.242"
"gq_port_client" => 27015
"gq_online" => true
"gq_numplayers" => 0
"gq_maxplayers" => 128
]
]
document.addEventListener('click', function(e) {
if (!e.target.closest('.tileset-showitems')) {
tilesetShowListRemove();
}
});
- .active {
+ .active .box {
const containerSelector = '.tileset-showitems';
const buttonSelector = `${containerSelector} .tileset-showitems-trigger`;
const activeClass = 'active';
const closeAllExcept = container => document
.querySelectorAll(`${containerSelector}.${activeClass}`)
.forEach(n => n !== container && n.classList.remove(activeClass));
document.addEventListener('click', ({ target: t }) => {
const button = t.closest(buttonSelector);
const container = t.closest(containerSelector);
if (button) {
container.classList.toggle(activeClass);
}
closeAllExcept(container);
});
window.addEventListener('keydown', e => e.key === 'Escape' && closeAllExcept());