2016-11-10 4 views
0

Чтобы обеспечить полное качество на холсте, я хотел использовать фактическое количество пикселей, которое будет использовать холст на экране. Содержимое веб-страницы, для которой я кодирую, исправлено до 465px. Но вы можете себе представить, что холст с 465px не очень приятный. А поскольку современные мониторы имеют больше пикселей, я думал, что смогу использовать это в свою пользу. Я пробовал разные вещи, такие как innderWidth, clientWidth и нормальная ширина, но ничего не работало. Мне действительно нужна функция, которая изменяется при перезагрузке браузера с другим увеличением.Получение на экране Ширина элемента

HTML:

<div id="myTargetDiv"></div> 

Javascript:

<script> 
    $("#myTargetDiv").html("<canvas id='myCanvas' style='widt: 100%" width=" 
     + document.getElementById("contentMain").clientWidth + "' height='" 
     + document.getElementById("contentMain").clientheight 
     + "'>Your Browser does not support the HTML5 canvas tag</canvas>"); 
</script> 

Я был бы рад, если бы вы могли обеспечить решение в JS или в Jquery

+0

Возможная Дубликат [Общая ширина элемента] (http://stackoverflow.com/questions/349705/total-width-of-element-including-padding-and-border-in-jquery) и [ множество похожих ответов] (http://stackoverflow.com/search?q=jquery+width+of+element), найденный путем простого поиска SO. – Rob

+0

@Rob 1) Ответ, приведенный в этом комментарии, даже не работает. 2) Даже если он сработает, он вернет ширину, определенную в css. Мне действительно нужно ** на экране ** ширина – Joel

+0

Не так много вы можете сделать, если хотите, чтобы он работал с разными уровнями масштабирования. Не существует стандартного способа определения настройки масштабирования. Хотя для Firefox и Chrome я использую window.devicePixelRatio, поскольку он изменяется, чтобы отразить настройку масштабирования. т.е. увеличить 110% .devicePixelRatio = 1.100 Затем просто умножьте innerWidth и innerHeight на это значение. Но я не знаю, что сделают другие или более старые браузеры. – Blindman67

ответ

0

Установите ширину и высоту элемента до 100%. Но убедитесь, что все родительские элементы также имеют 100% ширину/высоту.

html, body, #myTargetDiv { 
    width: 100%; 
    height: 100%; 
} 
+0

Это действительно не помогает мне. Мне нужна эта информация, чтобы рассчитать, сколько пикселей будет иметь мой холст. Если я определяю холст с 465px, а затем добавлю картинку с 1500px, он будет уменьшен и выглядит действительно, очень плохо – Joel

+0

@Joel 'console.log (document.getElementById ('myTargetDiv'). OffsetWidth + 'x' + document. getElementById ('myTargetDiv'). offsetHeight) ' – sed

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