var $win = $(window),
$content = $(".js-content"),
$parallax = $content.find(".js-parallax"),
baseHeight = $content.outerHeight(),
maxScroll = baseHeight - $win.innerHeight(),
parallaxHeight = $parallax.outerHeight(),
parallaxDiff = parallaxHeight - baseHeight,
scrollTop, scrollPercent, parallaxTop;
$win.on("scroll", function () {
scrollTop = $win.scrollTop();
scrollPercent = scrollTop / maxScroll * 100;
parallaxTop = parallaxDiff / 100 * scrollPercent;
$parallax[0].style.top = -parallaxTop + "px";
});
var queue = [], // тут храним очередь
active = false; // тут храним инфу об активности
// наша обертка над методом $.ajax
var myAjax = function (config) {
queue.push(config); // конфиг аякс-запроса кладем в конец очереди
nextInQueue(); // вызываем следующий элемент в очереди
};
// отправляем запрос
var nextInQueue = function () {
if (active) {
return; // если в данный момент идет запрос, то ничего не делаем
}
active = true; // ставим флаг что запрос активен
// если очередь опустела, ничего не делаем
if (!queue.length) {
active = false;
return;
}
// получаем первый элемент очереди
var current = queue.shift();
// сам аякс запрос, данные берем из конфига current
$.ajax({
url: current.url,
data: current.data,
success: function () {
active = false; // ставим флаг что запрос завершен
nextInQueue(); // вызываем следующий элемент в очереди
}
});
};
// Запрос 1
myAjax({
data: "1"
});
// Запрос 2
myAjax({
data: "2"
});
// Запрос 3
myAjax({
data: "3"
});
<script type="text/javascript" src="http:/ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
Подправим урл на
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type='text/javascript'>QueryLoader.init();</script>
изменим на
<script type='text/javascript'>
$(document).ready(function (){
QueryLoader.init();
});
</script>
var $removeBtn = $("#remove");
removeChecked = function () {
$("input[name='test']").each(function () {
var $this = $(this);
$this.filter(":checked").parent().remove();
});
}
$removeBtn.on("click", removeChecked);
var a = "Некая строка с текстом внутри *звездочек*, и вообще тут много текста";
var b = "Просто текст без звездочек";
var c = "Тут тоже * что-то есть111 *, вот так вот";
var reg = /\*.+\*/i;
var a1 = a.match(reg);
var b1 = b.match(reg);
var c1 = c.match(reg);
console.log(a1); // -> ["*звездочек*"]
console.log(b1); // -> null
console.log(c1); // -> ["* что-то есть111 *"]
<select>
<option value="dsp">ДСП</option>
<option value="lmdf">ЛМДФ</option>
</select>
var type_price = {
dsp: 10,
lmdf: 20
};
var val = select.value; // например "dsp"
var current_price = type_price[val];
var trigger = function (el, type) {
var event;
if (document.createEvent) {
event=document.createEvent('HTMLEvents');
event.initEvent(type,true,true);
} else {
event=document.createEventObject();
event.eventType=type;
}
event.eventName=type;
if (document.createEvent) {
el.dispatchEvent(event);
} else {
el.fireEvent('on'+event.eventType,event);
}
};