Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Как правильно писать функцию в обработчике события?

Для примера пишем функцию: 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. Именно первый вариант является правильным....

Как определить, что fadeOut() полностью отработала

fadeOut() - служит для скрытия указанного элемента, путём затухания. Процесс исчезновения продолжается до тех пор, пока элемент полностью не станет невидимым. В качестве первого параметра метода устанавливается время продолжительности исчезновения элемента. Порой необходимо продолжить выполнение сценария, только тогда, когда функция fadeOut скроет элемент полностью. Ниже о том, как это сделать.

Чтобы продолжить выполнение сценария, только полного скрытия элемента, указываем вторым параметром метода функцию, которая возьмёт на себя выполнение кода, после исчезновения элемента.

Пример:
$('#elID').fadeOut(5000, function() {
	alert('Ok');
});

По первому параметру видно, что элемент с id="elID" будет исчезать ровно 5 секунд (5000). Сразу, как элемент станет невидимым, отработает alert();.

Вместо alert(); будет Ваш код....

Как удалить класс у элемента на чистом JS и jQuery

Чтобы удалить один из классов элемента на чистом JS, делаем так:
document.getElementById('elName').classList.remove('className');

Если необходимо удалить сразу все классы, то так (Атрибут class останется пустым):
document.getElementById('elName').className = '';

Либо так (Удалит полностью атрибут class, со всеми его значениями):
document.getElementById('elName').removeAttribute('class');


Если требуется удалить один из классов на jQuery, делаем так:
$("#elName").removeClass('className');

При необходимости удалить все классы разом (Атрибут class останется пустым):
$("#elName").removeClass();

Если есть необходимость полностью удаление атрибут class, со всем его содержимым:
$("#elName").removeAttr('class');


  • elName - Название элемента, где необходимо удалить класс.
  • className - Название класса, который необходимо удалить.
...

Как заменить все совпадения в строке на JS

Про метод, что заменяет подстроку в строке (replace), знает каждый, кому приходилось работать со строками. Данный метод заменяет первое найденное совпадение, на то, что ему указано вторым параметром:
var n = '2:19:11:174:55:10:11:98';
n = n.replace('1', 'X');
console.log(n);

Тут мы заменяем первую единицу на X, на выходе получим: 2:X9:11:174:55:10:11:98. С этим всё понятно, замена первой единицы прошла успешно, остальные единицы остались не тронутыми.

А, что делать, если появилась необходимость заменить все единицы в строке на X? На помощь придет регулярное выражение, с флагом g, что будет производить замену стоко раз, сколько совпадений находится в строке. Само выражение для нашей задачи выглядит так: /1/g. В метод завернуть так n.replace(/1/g, 'X'). Ну, и весь код:
var n = '2:19:11:174:55:10:11:98';
n = n.replace(/1/g, 'X');
console.log(n);

Результат выполнения кода: 2:X9:XX:X74:55:X0:XX:98. Проверяем, убеждаемся, что все единицы были заменены на X.

Есть ещё один...

Какие задачи необходимо уметь выполнять на JavaScript начинающему

Разумеется, что все мы когда-то ни чего не знали и не умели. Приходит время познавать что-то новое, изучать и учиться какому-либо ремеслу. Сайтостроение - это тоже ремесло, в которое входит много деталей, таких, как дизайн, навигация, функционал и тд. За дизайн отвечают теги и CSS, за навигацию может отвечать программная часть движка, может и чистый HTML, за функционал могут отвечать многие мелочи сайта, а также вся программная часть сайта, как на сервере, так и на загруженной странице в браузере. И если Вы начинающий ВебМастер, и на данный момент Вас интересует JavaScript, то Вы по адресу! Сегодня мы поговорим о том, с какими задачами необходимо уметь справляться начинающему изучение языка JavaScript.

На первое место я бы поставил, что должен знать и уметь новичок, это Область видимости переменных. Чтобы не заблудиться в трех соснах, почему переменная определена, но методы ее не могут распознать. А все очень просто, переменная вне зоны видимости. Чтобы не наступать на такие грабли,...