return song.split('WUB').filter(Boolean).join(' ');
if ( variable ) {
return true;
} else {
return false;
}
, далее все значения, прошедшие проверку конкатенируются в строку через пробелы.mousedown
, в нём ставите флаг = true.mousemove
, в нём проверяется установлен ли флаг из п.1. Если флаг === true, делаем что нас интересует.mouseup
, в нём флаг устанавливается в false. const $elem = $('#text_0');
...
success: function(html){
$elem.html(html);
}
...
const $elem = $('#text_0');
function ajax(selector, url) {
$(selector).on('click', function(){
$.ajax({
url: url,
success: function(html){
$elem.html(html);
}
});
});
}
ajax('#gib', 'side/gib.html');
ajax('#sg989', 'side/sg98.html');
document.querySelector('.custom-select-wrapper').addEventListener('click', function() {
this.querySelector('.custom-select').classList.toggle('open');
})
for (const option of document.querySelectorAll(".custom-option")) {
option.addEventListener('click', function() {
if (!this.classList.contains('selected')) {
this.parentNode.querySelector('.custom-option.selected').classList.remove('selected');
this.classList.add('selected');
this.closest('.custom-select').querySelector('.custom-select__trigger span').textContent = this.textContent;
this.parentElement.previousElementSibling.style.backgroundImage = getComputedStyle(this).backgroundImage;
}
})
}
window.addEventListener('click', function(e) {
const select = document.querySelector('.custom-select');
if (!select.contains(e.target)) {
select.classList.remove('open');
}
});
const select = document.querySelector('.custom-select');
(function() {
let input = select.firstElementChild,
text = input.querySelector('span'),
options = select.lastElementChild;
select.addEventListener('click', function(ev) {
this.classList.toggle('open');
let el = ev.target;
if (el.classList.contains('custom-option')) {
options.querySelector('.selected').classList.remove('selected');
el.classList.toggle('selected');
text.textContent = el.textContent;
input.style.backgroundImage = getComputedStyle(el).backgroundImage;
}
});
})();
window.addEventListener('click', function(e) {
if (!select.contains(e.target)) {
select.classList.remove('open');
}
});
$(document).on('submit', 'form', function(e) {
e.preventDefault();
if ( !formValidate(this) ) return;
console.log('send.')
$.ajax({
type: "POST",
url: 'url',
data: '',
success: function(data) {
console.log(data);
},
error: function(e) {
console.warn(e);
}
});
});
function formValidate(form) {
for (var i = 0; i < form.children.length; i++) {
if (form.children[i].type !== 'submit' && form.children[i].value.length === 0) {
// form.children[i].value.length === 0
// это условие можно модифицировать
console.log('bad value in', form.children[i]);
form.children[i].focus();
return false;
}
}
return true;
}
<button class="i-am-a-super-button">off</button>
document.querySelector('.i-am-a-super-button').onclick = function(e) {
this.textContent = this.textContent === 'off' ? 'on' : 'off';
var line = document.querySelector('.hr-vertical-gradient');
line.style.display = getComputedStyle(line).display === 'block' ? 'none' : 'block';
}
[
{
"Mercedes": {
"E-class": {
"тут уж": "на что фантазии хватит"
},
"C-class": {
"тут уж": "на что фантазии хватит"
},
"S-class": {
"тут уж": "на что фантазии хватит"
},
}
},
{
"Porsche": {
"911": {
"тут уж": "на что фантазии хватит"
},
"928": {
"тут уж": "на что фантазии хватит"
},
"944": {
"тут уж": "на что фантазии хватит"
},
}
}
]
<a href="">
и она как раз верная. Так что всё просто, проверяйте свой скрипт пагинации - вы неверные данные отправляете на сервер за страницей.