function decodePath(url){
var parts=(url+"").split("?",2),
path=(parts[0]+'').split("/"),
query=(parts[1]+'').split("&"),
params={};
query.forEach(function(value){
var group=value.split("=");
params[group[0]]=group[1];
});
return {
path:path,
params:params
};
}
console.log(decodePath("param1/param2/?name1=value1&name2=value2"));
/*
Вернет
params: Object { name1="value1", name2="value2"}
path : ["param1", "param2", ""]
*/
jQuery("#wc_pr_incr_buy").html( "<a href='#'>Оформить покупку</a>" ).click(function(event){
event.stopPropagation(); //отмена перехода
var button= prod.find(".add_to_cart_button"),
id=button.attr("data-product_id"), //получаем id продукта
sku=button.attr("data-product_sku");
jQuery.ajax({
url:"/wp-admin/admin-ajax.php",
data:"action=woocommerce_add_to_cart&product_id="+id+"&product_sku="+sku+"&quantity=1",
type:"POST",
success: function (data, textStatus) { // вешаем обработчик на функцию success
window.location.href="/checkout";
}
});
});
в ссылке на оформление можно написать вместо <a href='#'>Оформить покупку</a> <a href='/magazin?add-to-cart="+prod+"'>Оформить покупку</a>" ради просто "нормальности ссылки" - этот url не учитывается при клике
<select onchange="updatePrice(this)">
<option data-price='10000'>Angelina Jolie</option>
<option data-price='20000'>Jessica Alba</option>
<option data-price='30000'>Mila Kunis</option>
</select>
function updatePrice(select){
var selected=select.options[select.selectedIndex],
price=selected.getAttribute("data-price");
confirm("Order "+select.value+" for "+price+"$ per hour?");
}
var obj = {
"0":["2","2","2","2"],
"1":["2","0"],
"28":["0","0","0","0"],
"29":["0","2"],
"30":{"3":"2","0":"2","14":"2","6":"1"},
"-2":{"8":"2","2":"1","3":"1"},
"36":{"27":"2","15":"1","16":"1"},
"-83":{"67":"2"},
"194":{"214":"2"},
"178":{"192":"2"},
"127":{"145":"2"},
"55":{"147":"2"},
"47":{"21":"1"},
"40":{"19":"1"},
"37":{"19":"1"},
"65":{"17":"1"}};
var arr=Object.keys(obj), stack=[]
arr.forEach(function(key){
var en=obj[key];
stack.push.apply(stack,Object.prototype.toString.call(en)=='[object Array]'?en:Object.keys(en));
})
var xMin=Math.min.apply(null, arr),
xMax=Math.max.apply(null, arr);
yMin=Math.min.apply(null, stack);
yMax=Math.max.apply(null, stack);
alert("["+xMin+", "+xMax+"]\n ["+yMin+","+yMax+"]");
xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', '/xhr/test.html', true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4&&xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
};
xmlhttp.send(null);
function isChild(child, parent) {
var current=child;
if(!child||!parent)return false;
if(child===parent)return true;
while (current = current.parentNode) {
if(current==parent)return true;
}
return false;
}
...
if(!isChild(event.target, popupElement)){
popup.close();
}
var name="admin"
setTimeout(function(){
alert(name);
},1000);
function sayAfter(text,delay){
setTimeout(function(){
alert(text);
},delay);
}
sayAfter("lol",1000);
(function(){
var x, y, z;
//много разного кода, много переменных, которые не нужны в глобальной области видимости
})();