fetch
, для начала попробуйте .text()
. max-height: 300px
, а при нажатии на кнопку установить большое число максимальной высоты, например max-height: 1200px
. Анимировать через transition. Это самый простой вариант.элемент -> максимальная его высота
), например - Map
и заполнять данный массив при загрузке страницы. Максимальную высоту, естественно, высчитывать. При изменении размеров окна пересчитывать максимальную высоту. При нажатии на элемент, брать его максимальную высоту и запоминать его текущую высоту. Менять текущую высоту на максимальную. При повторном нажатии вернуть сохраненную высоту. function mobileClassExist(className, callback) {
$.ajax({
...,
success(data) {
callback(data);
}
});
}
mobileClassExist(..., function (exists) {
console.log(exists);
});
function mobileClassExist(className) {
return new Promise(function (resolve, reject) {
$.ajax({
...,
success(data) {
resolve(data);
},
error(data) {
reject(data);
}
});
});
}
mobileClassExist(...)
.then(function (exists) {
console.log(exists);
});
let btn = document.querySelector('#button1');
let elements = document.querySelectorAll('.test');
btn.addEventListener('click', changeColor);
function changeColor() {
for (let element of elements) {
elements.classList.toggle('color1');
}
}
myCSS
устанавливаете. const player = {
x: 0,
y: 0,
speed: 3
};
const target = {
x: 100,
y: 300
};
// Ваша функция для обновления
const update = () => {
const angle = Math.atan2(target.y - player.y, target.x - player.x);
const distance = Math.hypot(target.x - player.x, target.y - player.y);
if (distance > player.speed) {
player.x += Math.cos(angle) * player.speed;
player.y += Math.sin(angle) * player.speed;
} else {
player.x += Math.cos(angle) * distance;
player.y += Math.sin(angle) * distance;
}
requestAnimationFrame(update);
};
update();
<form action="some_url" method="POST">
<input type="text" name="username">
<button>Submit</button>
</form>
const form = document.querySelector('form');
const users = ['John', 'Emily', 'Bruce', 'Alice'];
form.addEventListener('submit', event => {
const input = form.querySelector('input[type="username"]');
const index = users.indexOf(input.value);
if (index === -1) {
event.preventDefault();
} else {
input.value = index;
}
});
var countPlus = function(e) {
var max = Number(slider.attr('max'));
count++;
if (count > max) {
count = max;
}
// Или заменить инкремент и условие выше на это
// count = Math.min(count + 1, max);
slider.val(count);
applyFill(slider[0]);
};
input
что-то написано, в функции applyFill
- нет. А еще эту страшилку для разделения можно заменить на это (Для locale
использовать ru-RU
). input
и один button
. Дочерняя функция - это оболочка. Каждый раз при ее вызове срабатывает следующее условие: в том случае, если input
'ы не пустые, кнопка включается, иначе - выключается. Только вот что, для полноценной работы нужны еще 2 функции: enbableButton
и disabledButton
.input
'ов можно использовать любые другие элементы, у которых есть свойство value
. size.addEventListener('change', priceRequestHundler);
e
, т. к. в тот момент переменная еще не определена. А еще async/await не используют с then
.