Size: a a a

JavaScript Noobs — сообщество новичков

2021 February 10

Р

Роман in JavaScript Noobs — сообщество новичков
Alexey Ermakov
задачу раздели на небольшие кусочки и по каждомк кусочку ищи информацию, как это сделать
оки, спасиб
источник

AE

Alexey Ermakov in JavaScript Noobs — сообщество новичков
🤷🏻‍♂️
источник

MR

Made in Russia in JavaScript Noobs — сообщество новичков
Всем ку.Стоит магнифик попап
$('body').prepend('<div id="messageLoadPage"></div><div class="mfp-bg-quickview"></div>');
 $.ajax({
   type:'post',
   data:'quickview29=1',
   url:'index.php?route=product/product&product_id='+id,  
   beforeSend: function() {
     creatOverlayLoadPage(true);
   },
   complete: function() {
     $('.mfp-bg-quickview').hide();
     $('#messageLoadPage').hide();
     creatOverlayLoadPage(false);
   },                  
   success:function (data) {
     $('.mfp-bg-quickview').hide();
     $data = $(data);
     var new_data = $data.find('#quickview-container').html();              
     $.magnificPopup.open({
       tLoading: '<span><i style="font-size:50px;" class="fa fa-spinner fa-pulse"></i></span>',
       items: {
         src: new_data,
         },
       type: 'inline'
     });
   }
 });              
}
Почему топ соле нажатия спинер крутится и ошибка на опенер..почему может быть?как можно дебагнуть?
    $.magnificPopup.open({
источник

O

Oleg in JavaScript Noobs — сообщество новичков
Damir Takhautdinov
после этого, при создании новой кнопки, в функции newBtnClick() , сразу вешай ей обработчик с функцией SetRandomColor().  А в функции SetRandomColor()  "this"  уже будет твоей кнопкой. И можно сделать this.style.background = get_random_color();
все решил.  Вот как вышло:

let bTN = document.getElementById('btn');
   bTN.addEventListener('click', newBtnClick);
function newBtnClick() {
   let newBtn = document.createElement('button');
   newBtn.innerText = 'newBTN';
   document.body.appendChild(newBtn).id = 'btId';
   document.body.appendChild(newBtn).style.background ='red';
   document.body.appendChild(newBtn).style.fontSize ='30px';
   document.body.appendChild(newBtn).addEventListener('mouseover', setRandomColor);
}
function setRandomColor () {
   this.style.background = get_random_color();
}
function get_random_color() {
   let c = '';
   while (c.length < 6) {
       c += (Math.random()).toString(16).substr(-6).substr(-1)
   }
   return '#'+c;
}
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Oleg
все решил.  Вот как вышло:

let bTN = document.getElementById('btn');
   bTN.addEventListener('click', newBtnClick);
function newBtnClick() {
   let newBtn = document.createElement('button');
   newBtn.innerText = 'newBTN';
   document.body.appendChild(newBtn).id = 'btId';
   document.body.appendChild(newBtn).style.background ='red';
   document.body.appendChild(newBtn).style.fontSize ='30px';
   document.body.appendChild(newBtn).addEventListener('mouseover', setRandomColor);
}
function setRandomColor () {
   this.style.background = get_random_color();
}
function get_random_color() {
   let c = '';
   while (c.length < 6) {
       c += (Math.random()).toString(16).substr(-6).substr(-1)
   }
   return '#'+c;
}
это что за ад с аппендЧайлдом?
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
и сколько он кнопок в итоге добавляет?*
источник

DT

Damir Takhautdinov in JavaScript Noobs — сообщество новичков
Oleg
все решил.  Вот как вышло:

let bTN = document.getElementById('btn');
   bTN.addEventListener('click', newBtnClick);
function newBtnClick() {
   let newBtn = document.createElement('button');
   newBtn.innerText = 'newBTN';
   document.body.appendChild(newBtn).id = 'btId';
   document.body.appendChild(newBtn).style.background ='red';
   document.body.appendChild(newBtn).style.fontSize ='30px';
   document.body.appendChild(newBtn).addEventListener('mouseover', setRandomColor);
}
function setRandomColor () {
   this.style.background = get_random_color();
}
function get_random_color() {
   let c = '';
   while (c.length < 6) {
       c += (Math.random()).toString(16).substr(-6).substr(-1)
   }
   return '#'+c;
}
уже лучше. Теперь можно перейти к тому,что можно обойтись без  document.body.appendChild в некоторых местах. А конкретно newBtn.id = 'btId'; сойдет вместо   document.body.appendChild(newBtn).id = 'btId';, как и 2 строчки ниже. Ну и newBtn.addEventListener('mouseover', setRandomColor); тоже.
источник

O

Oleg in JavaScript Noobs — сообщество новичков
по 1 кнопке на каждый клик
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Oleg
по 1 кнопке на каждый клик
function newBtnClick() {
   const newBtn = document.createElement('button');
   newBtn.innerText = 'newBTN';
   newBtn.id = 'btId';
   newBtn.style.background ='red';
   newBtn.style.fontSize ='30px';
   newBtn.addEventListener('mouseover', setRandomColor);
   document.body.appendChild(newBtn);
}


лучше так
источник

O

Oleg in JavaScript Noobs — сообщество новичков
🆗 понял
источник

O

Oleg in JavaScript Noobs — сообщество новичков
🙏
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Oleg
🆗 понял
а ещё лучше все стили в css вынесите и добавляйте класс
источник

O

Oleg in JavaScript Noobs — сообщество новичков
да я бы не заморачивался но таковы условия задачи=(
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Oleg
да я бы не заморачивался но таковы условия задачи=(
рандомный цвет, кнчн, сложновато написан
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Oleg
да я бы не заморачивался но таковы условия задачи=(
const randomColor = () => '#'+ Math.floor(Math.random() * 16_777_215).toString(16).padStart(6, '0');

ради интереса потыкал, но понятнее не стало, кмк
источник

AA

A Agnaev in JavaScript Noobs — сообщество новичков
Ivan Savin
const randomColor = () => '#'+ Math.floor(Math.random() * 16_777_215).toString(16).padStart(6, '0');

ради интереса потыкал, но понятнее не стало, кмк
я бы написал так: const randomColor = () => '#' + Math.random().toString(16).slice(2, 8)
источник

DT

Damir Takhautdinov in JavaScript Noobs — сообщество новичков
Oleg
по 1 кнопке на каждый клик
ну и если генерируется по 1 кнопке на каждый клик, есть смысл не добавлять им ID, либо добавлять всегда разные. ID обязан быть уникальным, на то он и ID
источник

S

Szazzq in JavaScript Noobs — сообщество новичков
A Agnaev
я бы написал так: const randomColor = () => '#' + Math.random().toString(16).slice(2, 8)
const randomColor = () => "#" + ((1 << 24) * Math.random() | 0).toString(16)

Так мы и живем.
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
Szazzq
const randomColor = () => "#" + ((1 << 24) * Math.random() | 0).toString(16)

Так мы и живем.
(1 << 24)
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
точно, блин
источник