SELECT `date`
FROM `foo`
WHERE `id` >= (
SELECT `id`
FROM `foo`
WHERE `date` < now()
ORDER BY `id` DESC
LIMIT 1
)
SELECT t2.s1
FROM (
SELECT
t1.id,
t1.s1,
IF (@max = 1, @max := t1.seq, @max := @max) AS "max1",
IF (t1.seq = 1, @max := 1, @max := @max) AS "max2"
FROM (
SELECT
(SELECT @id := @id + 1) AS "id",
s1,
IF (s1 = @prev + 1, @seq := @seq + 1, @seq := 1) AS "seq",
(SELECT @prev := s1) AS "prev"
FROM `table`,
(SELECT @id := 0, @seq := 0, @prev := null) AS init
) AS t1,
(SELECT @max := 1) AS init
ORDER BY t1.id DESC
) AS t2
WHERE t2.max1 >= 3
ORDER BY t2.id
s1 | n
1 3
2 3
3 3
7 1
12 1
22 2
23 2
5 4
6 4
7 4
8 4
SELECT s1 FROM `table` WHERE n > 2
<div data-num="2350" data-step="5" class="number">0</div>
$(window).scroll(function() {
var $win = $(window);
if ($('#counter').offset().top < $win.scrollTop() + 200) {
$win.off('scroll');
$('.number').addClass('viz').each(function() {
var
i = 0,
num = +this.dataset.num,
timeStep = 1000 / num,
valStep = +this.dataset.step || 1,
interval = setInterval(function($el) {
if ((i += valStep) >= num) {
clearInterval(interval);
}
$el.html(Math.min(i, num));
}, timeStep, $(this));
});
}
});
var steps = 100;
$(window).scroll(function() {
var $win = $(window);
if ($('#counter').offset().top < $win.scrollTop() + 200) {
$win.off('scroll');
$('.number').addClass('viz').each(function() {
var
i = 0,
num = +this.dataset.num,
valStep = num / steps,
interval = setInterval(function($el) {
if ((i += valStep) >= num) {
clearInterval(interval);
}
$el.html(Math.floor(Math.min(i, num)));
}, 20, $(this));
});
}
});
querySelectorAll
возвращает коллекцию элементов, никакого addEventListener
у неё нет - его надо вызывать отдельно у каждого элемента.e.classList
? e
- это объект события, а не элемент DOM-дерева.const elems = document.querySelectorAll('nav#menu_3 > ul > li');
elems.forEach(n => n.addEventListener('mouseover', onMouseover));
function onMouseover() {
elems.forEach(n => {
n.classList.toggle('zoomed', this === n);
n.classList.toggle('nozoomed', this !== n);
});
}
INSERT INTO Items SET `itemid` = 'SELECT MAX(`itemid`) FROM `Items`', ...
(SELECT MAX(`itemid`) FROM `Items`)
INSERT INTO Items(itemid, title, type)
SELECT MAX(itemid), <значение для title>, <значение для type> FROM Items
connection.query('INSERT INTO Items(itemid, title, type) SELECT MAX(itemid), ?, ? FROM Items', [ data.title, data.group ])
<a href="#" class="menu-trigger" data-list="#menu">Menu</a>
<a href="#" class="menu-trigger" data-list="#contacts">Contacts</a>
<ul id="menu" class="list">...</ul>
<ul id="contacts" class="list">...</ul>
$('.menu-trigger').click(function() {
var list = this.dataset.list;
$(this).parent().find('.list').not(list).slideUp(0);
$(list).slideToggle(500);
});
$(window).resize(function() {
if ($(window).width() > 500) {
$('.list').removeAttr('style');
}
});
думал через Foreach в foreach, но не пашет
foreach ($arr as $val) {
foreach ($val['items'] as $item) {
// хватаем item_code, например: $item['item_code']
}
}
$('селектор кнопки').click(function() {
$('селектор-элементов')
.not('.класс')
.slice(0, количествоЭлементовКоторымНадоДобавитьКласс)
.addClass('класс');
});
const items = [...document.querySelectorAll('селектор элементов')];
document.querySelector('селектор кнопки').addEventListener('click', () => {
items
.splice(0, количествоЭлементовКоторымНадоДобавитьКласс)
.forEach(n => n.classList.add('класс'));
});
пытался получить так:
console.log($('.wall_post_text', this)).innerText;
Но пишет undefined
.innerText
надо внутри внешних скобок было разместить, а так вы у результата вызова console.log
хотите свойство прочитать (и получаете вы никакой не undefined
, а ошибку "cannot read properties of undefined").innerText
надо получать у DOM-элемента, а не jquery объекта. Ну или замените обращение к свойству на вызов метода.$('.wall_post_text', this)[0].innerText
// или
$('.wall_post_text', this).get(0).innerText
// или
$('.wall_post_text', this).prop('innerText')
// или
$('.wall_post_text', this).eq(0).text()
// или
$('.wall_post_text:eq(0)', this).text()
// или, если элемент .wall_post_text внутри this один
$('.wall_post_text', this).text()
return json_encode($result)
наверное должно быть что-то вроде echo json_encode($result)
. Также непонятно, почему никак не обрабатывается ситуация, когда name и email отсутствуют.header('Content-Type: application/json');
. Всё-таки json возвращаете.?>
тоже не помешает - чтобы случайно не добавлять пробелы/пустые строки в ответ.dataType: "html"
было бы неплохо заменить на dataType: "json"
- по получении ответа не придётся вызывать parseJSON, response будет объектом. в чем тут логика?
(function() {
'use strict';
var func = function() { console.log(this); };
func.call(null); // выведет null
})();
var
path = 'aaa.bbb.ccc.ddd',
data = {
aaa: {
bbb: {
ccc: {
ddd: 'Hello!!'
}
}
}
};
console.log(path.split('.').reduce((p, c) => p[c], data)); // Hello!!
background: linear-gradient(to right, transparent 10%, red 30%, red 70%, transparent 90%);