<span>поисковая строка</span>
. Жирноту/нежирноту сделать стилями. ipinfo.io
предоставляет API, есть бесплатный план (до 50 тыс. запросов в месяц)$.get("https://ipinfo.io", function(response) {
console.log(response.ip, response.country);
}, "jsonp")
{
"ip": "134.209.xxx.xxx",
"city": "Clifton",
"region": "New Jersey",
"country": "US",
"loc": "40.8344,-74.1377",
"org": "AS14061 DigitalOcean, LLC",
"postal": "07014",
"timezone": "America/New_York",
"readme": "https://ipinfo.io/missingauth"
}
var
переменная i
в любых вызовах навешанных функций имеет последнее своё значение из цикла, равное длине experimentElem
.var
на let
:for (let i = 0; i < experimentElem.length; i++) {
[...experimentElem].forEach((el, i) => {
el.addEventListener('mouseenter', event => gifElem[i].play());
el.addEventListener('mouseleave', event => gifElem[i].pause());
})
&code=xxxxx
, который уже мой сервер обменивает напрямую с соц.сетью на токен.postMessage()
в родительское окно с основным приложением – сообщит о результате: получено разрешение или пользователь что-то накосячил или передумал;.food-item-*
(может, у них у всех есть какой-то общий класс?) или document.querySelectorAll('[class^=.food-item-]')
.food-item-NNN-bin
(регуляркой) и выдирать оттуда число.new Phar('my_new_phar.phar')
создаёт новый архивProgressive Advancement has won the game for now as far as I can see. If UI/UX designers start a product design with its desktop version, they will inevitably want to make use of most of the advantages of the advanced end. For example, the hover effect which is supported by a cursor mouse; HD images & complex charts which can display normally only when there is a recent bandwidth. In this way, the designers will make efforts to complete an amazing desktop version and only to find it can hardly be adopted on a mobile end unless they give up a lot of beautiful ideas. If so, the mobile end version will be more like an afterthought, an incomplete product which’s been watered down.
active
для единственного выбранного элемента:div.answer { background: #222; color: #aeaeae; }
div.answer.active { background: #fff; color: #000; }
const els = [...document.querySelectorAll('.answer')];
const toggle = event => {
els.forEach(el => el.classList[event.target === el ? 'add' : 'remove']('active'));
}
els.forEach(el => el.addEventListener('click', toggle));
var a = getRectArea( 3, 4 );
a
окажется значение, которое функция вернула – то, что после "return" в ней оказалось. В вашем примере это 3 * 4, т.е. число 12. Ура, в переменной a
теперь лежит число 12
function test() {
return;
alert('Привет мир!'); // эта строка никогда не выполнится
}
gtag()
с искомым событием. И там же дописать ваш alert()
gtag()
свою функцию, например, mytag()
которая, в свою очередь, станет вызывать gtag()
и может, другие скрипты аналитики.gtag()
В таком случае остаётся заменить функцию gtag()
на свою: function gtag(){
dataLayer.push(arguments); // это весь исходный её функционал
if (arguments.length > 1
&& typeof arguments[0] === 'string'
&& arguments[0].toLowerString() === 'event'
&& typeof arguments[1] === 'string'
&& arguments[1] === 'name1'
)
{
alert("Name 1!");
}
}
position
– где-то далеко слева, его не видно, а значение position
отрицательное. Ноль соответствует точно левому краю, началу видимой «платформы».prev
– толпа смайликов едет вправо, её position
увеличивается. Но при этом последний вагон не должен уехать правее левого края платформы. Поэтому position
(обычно отрицательный) делается равным наибольшему из двух: 0
или вычисленному значению. Если «уехали», position
получился положительным. И Math.min(0, position)
станет равным 0
.position
не должен становиться левее == меньше, чем минус-длина поезда плюс длина платформы. const KEY_STATUS = 'status'; // ключ сохраняемого параметра
const step = +localStorage.getItem(KEY_STATUS);
/*
Шаги:
0 - переход на /1
1 - заполнение и клик (видимо, в переходом на новую страницу?)
2 - переход на /2
*/
if (0 === step) {
document.location.href = "http://site.ru/1";
} else if (1 === step) {
document.getElementsByName("pw")[0].value = "test";
document.getElementsByClassName("ur")[0].click();
} else if (2 === step) {
document.location.href = "http://site.ru/2";
}
localStorage.setItem(KEY_STATUS, 1 + step);