2014-01-30 8 views
0

У меня есть простой 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.

+0

Если вы не установили стиль 'rect', вам нечего возвращать? Я думаю, вы просто недопонимаете это, это не волшебным образом возвращает значения, какие части элемента видны, если вы специально не установили стиль 'rect'. – adeneo

+0

Я думаю, вы говорите, что часть div находится вне окна браузера - другими словами, если вы увеличили браузер, div будет полностью виден. Если это так, этот поток может помочь: http://stackoverflow.com/questions/5353934/check-if-element-is-visible-on-screen – BrettFromLA

ответ

0

Проблема заключалась в том, что при уменьшении ширины окна браузера, несмотря на то, что горизонтальная полоса прокрутки браузера появилась, прокрутка вправо дала пустую область, даже если там были данные. Я исправил это, установив жестко кодированную ширину для div - также обнаружил, что я мог программно увеличить ширину div, поскольку увеличился «scrollWidth» - любой из них работал.

 Смежные вопросы

  • Нет связанных вопросов^_^