const end = current + 1;
if (current < 2) {
end += 2 - current;
}
Присвоение константе - этого JS уже не прощает...function TableYchastki() {
let n = ChisloYchastkov.value, h=1+Math.floor(Math.log10(n));
div1.style.display = "block";
for (let i = 1; i <= n; i++) {
div1.innerHTML = div1.innerHTML + "Площадь повреждённой территории на " +
(" ".repeat(h) + i).slice (-h).replace(/\s/g," ") +
" участке: <input type=text id='ploshad" + i + "'><br>";
}
}
$("input[type='tel']").each(function(){
if(!this.inputmask) { // ставили уже ?
let mask="+7 (999) 999-99-99[999]"; // 6 - 3-я 9-ка, 9-4-z 9-rf, 10-5.
function oninput(){
const wphoneValue = jQuery(this).val().replace(/\D/g, '');
if (wphoneValue.length >= 4) {
const firstThreeDigits = parseInt(wphoneValue.substring(1, 4));
if(firstThreeDigits>699 && firstThreeDigits<900 && firstThreeDigits!==812){
// remove first letter from value
jQuery(this).val(jQuery(this).val().replace(/\+7 \([78]/,'+7 ('));
let pos=0;
for(let x=wphoneValue.length;x>1;x--){
pos=mask.indexOf('9', pos+1);
}
this.setSelectionRange && this.setSelectionRange(pos,pos,"forward");
}
}
}
$(this).on('input', oninput)
.inputmask({
"mask": mask,
skipOptionalPartCharacter: " ",
placeholder: "_",
autoclear: false,
onBeforePaste: function (pastedValue, opts) {
pastedValue = pastedValue.toLowerCase().replace(/\D/g, '').replace(/7(\d{10})/, '$1').replace(/8(\d{10})/, '$1');
return pastedValue;
}
})
var that=this;
setTimeout(function(){oninput.call(that)},10);
}
})
const rect = $canvas.getBoundingClientRect(); // после этого вставить 2 строки
$($canvas).attr('width', rect.width);
$($canvas).attr('height', rect.height);
//...
days.toString().replace(/\d/gi, (substring) => `${substring}`);
daysVal.innerHTML = '<span>'+days.toString().padStart(2,'0')+'</span>';
hoursVal.innerHTML = '<span>'+hours.toString().padStart(2,'0')+'</span>';
minutesVal.innerHTML = '<span>'+minutes.toString().padStart(2,'0')+'</span>';
$(function() {
var valMap = [0, 1, 3, 6, 10, 15, 22, 30,40, 50]; // более равномерно в логарифмической шкале
// 0..1000 --> 0..50 (true, обратно false)
const step=2,
w=[1000/Math.pow(50,1/step),50/Math.pow(1000,step)] ;
function _conv(x, forvard){
if(!forvard)
return Math.pow(x,1/step)*w[0];
else
return Math.round(Math.pow(x,step)*w[1]);
}
$("#slider").slider({
max: 1000,//valMap.length - 1,
slide: function(event, ui) {
$("#radiusAmount").val(_conv(ui.value,true));
}
})
.each(function() {
var opt = $(this).data().uiSlider.options;
var vals = opt.max - opt.min;
var arrayLength = valMap.length;
for (var i = 0; i < arrayLength; i++) {
var el = $('<label>' + (valMap[i]) + '</label>').css('left', (_conv(valMap[i],false) / 10 ) + '%');
$("#slider").append(el);
}
});
$(document).on('change','#radiusAmount', function(){
$("#slider").slider('value',_conv($(this).val(), false)) ; })
});
$query=[];
parse_str(parse_url($query_string, PHP_URL_QUERY),$query_array);
unset($query_array['select']);
echo (!empty($query_array)?'?':'').http_build_query($query_array);
function moveBg(evt){
if(!!moveBg.timeout){ // функция недавно вызывалась - запоминаем параметр и ждем;
moveBg.evt=evt;
return ;
}
// начинаем засечку времени 1 сек. По окончании таймаута вызываем функцию с последним актуальным параметром, если надо
moveBg.timeout=setTimeout(function(){moveBg.timeout=null; if(!!moveBg.evt){moveBg(moveBg.evt); moveBg.evt=null}},1000 );
// дальше без изменений и коррекций
var totalWidth = $('.home-shadow').width()
var rect = evt.target.getBoundingClientRect()
var x = evt.clientX - rect.left;
var percent = x*100 / totalWidth
console.log(percent)
var styleElem = document.head.appendChild(document.createElement("style"));
styleElem.innerHTML = `#home-shadow:before {background-position: ${percent}% 50%`;
}
$('body').mousemove(function(evt){
if(evt.target.classList[0] == 'home-shadow'){
moveBg(evt);
}
});