<input type="text" required oninvalid="this.setCustomValidity('Wow!')">
<input type="text" required oninvalid="this.setCustomValidity('Wow')" oninput="setCustomValidity('')" />
function checkUndef(node) {
if (node === undefined) return true;
if (typeof node === 'object') {
for (var iNode in node) {
if ( checkUndef(node[iNode]) ) return true;
}
}
return false;
}
Так как же контролировать порядок наложения отрисованных изображений?Рисовать в нужном порядке. От дальних к ближним.
<div id="new_social_link_template" style="display: none">
<div class="social_link">
...
</div>
</div>
Потому что в javascript не очень удобно эскейпить многострочность.var regexp = new RegExp('replaceme', 'g');
var time = new Date().getTime(); // получили timestamp
var newSocialLinkHtml = $('#new_social_link_template').html();
newSocialLinkHtml = newSocialLinkHtml.replace(regexp, time);
$('#social_links').append(newSocialLinkHtml);
Правда это добавит в самый конец формы. Чтобы добавлять к другим social_link'ам, оберните их в контейнер и добавляйте в него. var bestCircleness = 0;
var bestX, bestY, bestRadius;
for (var x = 0; x < width; x++) {
for (var y = 0; y < height; y++) {
for (var radius = minRadius; radius <= maxRadius; radius++) {
var circleness = getCircleness(x, y, radius);
if (circleness > bestCircleness) {
bestCircleness = circleness;
bestX = x;
bestY = y;
bestRadius = radius;
}
}
}
}
body .layer2 {
position: absolute;
width: 100%;
z-index: 100500;
}