У меня есть простой div. Когда окно браузера (Firefox версии 26) сокращается, видимая область div частично невидима.style.clip is empty - вам нужно знать, есть ли часть div.
Мне нужно выяснить, когда определенное местоположение (правый средний край div, например).
К моему удивлению, следующее дает пустое значение - ни строки, ни прямоугольника, ничего. Не могу понять, почему. Документы и примеры, которые я вижу, указывают на то, что style.clip должен возвращать строку с верхними, правыми, нижними, левыми значениями клиппинга rect, слева, видимой части элемента.
Например, даже W3schools.com shows that.
Вот мой код.
window.onresize = function(event)
{
console.log("Hi, we're about to get the clip rect for myDiv.");
console.log("myDiv clip rect is: " + document.getElementById('myDiv').style.clip);
}
<div id="myDiv" style="height: 99%; display: inline-block; width: 99%;
background-color: red"></div>
Я могу видеть div (красный фон). Но style.clip для myDiv - пустой, ни строки, ни ничего. Мой «! DOCTYPE html» находится в верхней части страницы. Не могу понять это, возможно, что-то простое.
Любые идеи? Кстати: здесь не будут использовать библиотеки javascript, просто чистый естественный javascript.
Если вы не установили стиль 'rect', вам нечего возвращать? Я думаю, вы просто недопонимаете это, это не волшебным образом возвращает значения, какие части элемента видны, если вы специально не установили стиль 'rect'. – adeneo
Я думаю, вы говорите, что часть div находится вне окна браузера - другими словами, если вы увеличили браузер, div будет полностью виден. Если это так, этот поток может помочь: http://stackoverflow.com/questions/5353934/check-if-element-is-visible-on-screen – BrettFromLA