Показать сообщение отдельно
  #18 (permalink)  
Старый 13.02.2016, 19:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Lemme, ближайший блок к клику дубль 2
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">

</head>

<body>


<style>
.container {
	padding: 50px 0;
	display: flex;
	background-color: #fff;
	border: 1px solid #999;
}
.block {
	height: 50px;
	background-color: tomato;
	border: 1px solid #333;
}
</style>
<div class="container">
	<div class="block" style="width: 35%"></div>
	<div class="block" style="width: 45%"></div>
	<div class="block" style="width: 20%"></div>
</div>


<script>
window.addEventListener("DOMContentLoaded", function() {
    var d = document.querySelector(".container"),
        e = d.querySelectorAll(".block"),
        c;
    d.addEventListener("click", function(b) {
        c = [].map.call(e, function(a) {
            a = a.getBoundingClientRect();
            c = a.left > b.clientX ? a.left : a.right < b.clientX ? a.right : b.clientX;
            c -= b.clientX;
            a = a.top > b.clientY ? a.top : a.bottom < b.clientY ? a.bottom : b.clientY;
            a -= b.clientY;
            return Math.sqrt(c * c + a * a)
        });
        var d = Math.min.apply(null, c);
        [].forEach.call(e, function(a, b) {
            a.innerHTML = c[b] > d ? "" : "+"
        })
    })
});
</script>

</body>

</html>

Последний раз редактировалось рони, 13.02.2016 в 21:15.
Ответить с цитированием