23 -> 32
110 < 1001
Т.е. при переборе позиций меньше всего хотим двигать левую позицию, пока не переберем все варианты правой:0011
0101
0110
1001
1010
1100
function replacer(el){
var i, node, span;
if(el.hasChildNodes()) {
for(i=0; i<el.childNodes.length; i++) {
node = el.childNodes[i];
if(node.nodeType === Node.ELEMENT_NODE) {
if( !!~['SCRIPT','NOSCRIPT'].indexOf(node.nodeName)) continue;
replacer(node);
} else if( node.nodeType === Node.TEXT_NODE) {
if(node.nodeValue.match(/^\s+$/)) continue;
span = document.createElement("span");
span.innerHTML = node.nodeValue.replace(/([а-яА-Я]+)/ug, '<i>$1</i>');
el.insertBefore(span, node);
el.removeChild(node);
}
}
}
}
replacer(document.body);
<span>
, чтобы просто innerHTML ему заменить.const dGet = document.getElementById.bind(document);
const reSpace = /\s+/;
const div = dGet('text');
const text = div.innerText;
const words = text.trim().split(reSpace);
dGet('text_input').addEventListener('input', function(e){
var i, myWords = e.target.value.trim().split(reSpace),
theWords = words.slice();
var toCheck = e.target.value.substr(-1) === ' ';
if(!toCheck) myWords.length--;
for(i=0; i<Math.min(myWords.length, words.length); i++) {
if(words[i] !== myWords[i]) {
theWords[i] = '<i>' + words[i] + '</i>';
} else {
theWords[i] = '<b>' + words[i] + '</b>';
}
}
div.innerHTML = theWords.join(' ');
});
Content-Security-Policy "default-src 'self' *.VASHDOMEN.ru data: 'unsafe-inline' https://www.youtube.com https://yandex.ru https://mc.yandex.ru https://yastatic.net 'unsafe-eval'"
const STATE_SELECT = 1;
const STATE_CHECK = 2;
var state = STATE_SELECT;
var rrr = function() {
if(state === STATE_CHECK) return;
$(this).toggleClass("red");
};
var ggg = function() {
if(state === STATE_CHECK) return;
$(this).toggleClass("green");
};
var yyy = function() {
$(".green").toggleClass("yellow");
if(state === STATE_CHECK) {
state = STATE_SELECT;
} else {
state = STATE_CHECK;
}
};
$("div").hover(rrr);
$("div").click(ggg);
$("button").click(yyy);
function _replace(&$str, &$trans){
$arr = preg_split('//u', $str, null, PREG_SPLIT_NO_EMPTY);
for ($i = 0; $i < count($arr); $i++) {
if( isset($trans[$arr[$i]]) && rand(0,1)) {
$arr[$i] = $trans[$arr[$i]];
}
}
$str = implode('', $arr);
}
CURLOPT_CUSTOMREQUEST
задавать традиционно:CURLOPT_HTTPGET => TRUE, // GET
// или
CURLOPT_POST => TRUE, // POST
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_SSL_VERIFYSTATUS => FALSE,
*_TIME
function start() {
и закрывающую }
в конце : )</body></html>
var player = {x:200, y:200, el:document.getElementById('player')};
player.el.style.left = '' + Math.round(player.x) + 'px';
player.el.style.top = '' + Math.round(player.y) + 'px';
var delta = {x:0, y:0};
document.addEventListener('keydown', function(e){
if( e.key == 'ArrowRight') delta.x = 1;
else if(e.key == 'ArrowLeft') delta.x = -1;
else if(e.key == 'ArrowUp') delta.y = -1;
else if(e.key == 'ArrowDown') delta.y = 1;
});
document.addEventListener('keyup', function(e){
if( e.key == 'ArrowRight') delta.x = 0;
else if(e.key == 'ArrowLeft') delta.x = 0;
else if(e.key == 'ArrowUp') delta.y = 0;
else if(e.key == 'ArrowDown') delta.y = 0;
});
var ts = null;
function step(timestamp) {
if(!ts) ts = timestamp;
var passed = timestamp - ts;
//if(passed < 200) return window.requestAnimationFrame(step);
ts = timestamp;
if(delta.x || delta.y) {
player.x += delta.x * passed / 10;
player.y += delta.y * passed / 10;
player.el.style.left = '' + Math.round(player.x) + 'px';
player.el.style.top = '' + Math.round(player.y) + 'px';
};
window.requestAnimationFrame(step);
}
window.requestAnimationFrame(step);
ключ: значение
.var s = '{"United Arab Emirates":"AED","Afghanistan":"AFN","Albania":"ALL","Armenia":"AMD","Netherlands Antilles":"ANG","Angola":"AOA","Argentina":"ARS","Australia":"AUD"}';
var data = JSON.parse(s);
var countries = Object.keys(data);
// United Arab Emirates,Afghanistan,Albania,Armenia,Netherlands Antilles,Angola,Argentina,Australia
var data = JSON.parse(s, function(k,v){
return typeof v === "object" ? Object.keys(v) : v;
});
<script type="template" id="sourceCode">
. Скриптом копировать её оттуда, применять изменения и вставлять в DOM. При изменении размера, снова доставать нетронутую исходную разметку и переделывать под другую ширину. $('body').on('beforeSubmit', 'form', function(){
<body>
. С закрытием модального окна он не исчезает и слушатель, повешенный на него, остаётся. .on(...)
заменить на .one(...)
– это костыль, т.к. если форму не отправят, а только закроют модалку, в следующий раз отправится дважды.widgets.like.shared
VK.Observer.subscribe(
"widgets.like.shared",
function f() {
alert ("Thank you for your SHARE.");
}
);
num
увеличивается на 1.for{ ... }
достаточно num = arr.length;
или вообще всю функцию function func() {
var num = this.value.split(' ').length;
document.getElementById('result').innerHTML = num;
}
function func() {
var num = this.value.trim().split(/\s+/).length;
document.getElementById('result').innerHTML = num;
}