Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
Как избавиться от наследования "opacity"
Известно, что CSS свойство
На:
И прозрачность будет только у родителя....
opacity наследуется элементами, что находятся внутри элемента с данным свойством. Для потомственных элементов свойство поменять не выйдет, прописав их в ручную. Однако, если прозрачность необходима для фона, можно поменять:
.class {
background: #FFFFFF;
opacity: 0.6;
}На:
.class {
background: rgba(255, 255, 255, 0.5);
}И прозрачность будет только у родителя....
- Жалоба
Не использовать "cursor: pointer" если элемент "disabled"
Есть выбор из перечисленного:
На одном
Теперь, если у тега есть:
<input type="radio" class="choice" id="choice1" name:"action" />
<label class="categorylabel" for="choice1">
<div>
<!-- -->
</div>
</label>
<input type="radio" class="choice" id="choice2" name:"action" disabled />
<label class="categorylabel" for="choice2">
<div>
<!-- -->
</div>
</label>На одном
input прописан: disabled (Запрет использовать). Стояла задача менять курсор при наведении на label, но не менять курсор, если элемент имеет: disabled. Для решения этой задачи использовался следующий CSS код:
input[type="radio"][disabled] {
cursor: default;
}
input[type="radio"]:not([disabled]) + label {
cursor: pointer;
}Теперь, если у тега есть:
disabled, курсор не меняется на указательный палец, остаётся стрелочкой....PHP: Как составить из строки элемент массива
Стояла задача, составить из получаемой строки элемент массива. Допустим, есть такой массив:
Функция принимает строку:
С решением помогли на Хабр:
Оказалось, всё просто! С каждой итерацией мы переходим к следующему "вложению" массива, подбираясь к нужному нам элементу.
Проверяем:
На экране видим:
А значит всё правильно.
Для решении мой задачи, так же, есть библиотека Array Dot Notation, но я выбрал решение выше....
$arr = [
'k1' => [
'k2' => [
'k3' => [
'k4' => 'v'
]
]
]
];Функция принимает строку:
k1/k2/k3, используя данную строку, необходимо отдать элемент массива: $arr['k1']['k2']['k3'].С решением помогли на Хабр:
<?php
$arr = [
'k1' => [
'k2' => [
'k3' => [
'k4' => 'v'
]
]
]
];
$s = "k1/k2/k3";
$array = explode('/', $s);
foreach ($array as $v)
{
$arr = $arr[$v];
}Оказалось, всё просто! С каждой итерацией мы переходим к следующему "вложению" массива, подбираясь к нужному нам элементу.
Проверяем:
print_r($arr);На экране видим:
['k4' => 'v']А значит всё правильно.
Для решении мой задачи, так же, есть библиотека Array Dot Notation, но я выбрал решение выше....
Cannot use object of type stdClass as array
При очередном написании скрипта на PHP, получил ошибку: Cannot use object of type stdClass as array, которая сообщает о невозможности использовать объект, как массив. То есть, я где то хочу получить значение из массива, который, на самом деле, не является массивом.
Смотрю по коду: Я использую функцию:
Логично, что дальше я могу писать так:
Чтобы работать с
Ошибка исправлена!...
Смотрю по коду: Я использую функцию:
json_decode, чтобы перевести JSON в массив:
$data = json_decode($data);Логично, что дальше я могу писать так:
$data['val'], чтобы работать со значением val... Я так думал, но нет...Чтобы работать с
$data['val'], необходимо использовать функцию: json_decode со вторым параметром. Второй параметр: true, и это служит для возврата ассоциативного массива, а не объекта:
$data = json_decode($data, true);Ошибка исправлена!...
Как правильно писать функцию в обработчике события?
Для примера пишем функцию:
Или так:
Теперь пробуем вызывать функцию, при клике на ссылку (
Первый вариант на jQuery:
Первый вариант на чистом JS:
Или, второй вариант на jQuery:
Второй вариант на чистом JS:
Какой из вариантов, по Вашему, будет работать, а какой нет? Работать будет первый вариант, как на jQuery, так и на чистом JS. Именно первый вариант является правильным....
display, так:
function display(param) {
/* Code Function */
};Или так:
var display = function(param) {
/* Code Function */
};Теперь пробуем вызывать функцию, при клике на ссылку (
class="beginning"):
Первый вариант на jQuery:
$(document).on('click', 'a.beginning', () => {
display('cover');
});Первый вариант на чистом JS:
var beginning = document.querySelector('a.beginning');
beginning.addEventListener('click', function() {
display('cover');
});Или, второй вариант на jQuery:
$(document).on('click', 'a.beginning', display('cover'));Второй вариант на чистом JS:
var beginning = document.querySelector('a.beginning');
beginning.addEventListener('click', display('cover'));Какой из вариантов, по Вашему, будет работать, а какой нет? Работать будет первый вариант, как на jQuery, так и на чистом JS. Именно первый вариант является правильным....
Категории
- Apache 6
- CMS 3
- CSS 23
- FTP 1
- HTML 16
- JavaScript 46
- Nginx 15
- PHP 54
- phpMyAdmin 2
- SEO 7
- SQL 17
- SVG 10
- URL 1
- XML 2
- Безопасность 9
- Библиотека JS 18
- Графика 1
- Инструкция 1
- Кодировка 2
- Контент 11
- Мнение 4
- Монетизация сайта 1
- Настройка 3
- Ошибка 13
- Поисковая система 2
- Продвижение сайта 5
- Производительность 3
- Прочее 1
- Софт 1
- Старт 1
- Сценарий 1
- Функция 1
- Хостинг | Сервер 2
Реклама













