2014-09-19 4 views
0

Мой CSS выглядит следующим образом:HTML5 масштабируются размер холста

#Canvas { 
width: 100%; 
max-width: 548px; 
height: auto; 
} 

И весы мой образ, как я хочу.

Однако, когда я звоню canvas.width, он всегда будет возвращать ту же ширину, даже если мое окно браузера действительно мало. Почему я не могу получить размер от canvas?

мне нужен размер, потому что я проверить mouse hover на startX = percentX * canvas.width И это не правильно, потому что canvas.width является статическим.

Cheers!

+0

посмотреть здесь http://jsfiddle.net/dauzqcj6/2/ – Cattla

+0

Попробуйте 'canvas.scrollWidth' –

ответ

0

canvas элемент имеет свой собственный width и height атрибутов, поэтому редактирование width и height в css только масштабировать его, но canvas "атрибуты останутся прежними. Поэтому, чтобы изменить размер canvas, вам необходимо будет изменить его размер на JavaScript с помощью функции onresize.

0

Вы можете использовать canvas.scrollWidth, чтобы получить width. Запуск code snippet в Full Page

function getWidth() 
 
{ 
 
    var can = document.getElementById("myCanvas"); 
 
    var wid = can.scrollWidth; 
 
    alert(wid); 
 
}
#myCanvas { 
 
width: 100%; 
 
max-width: 548px; 
 
height: auto; 
 
border: 1px solid red; 
 
}
<canvas id="myCanvas"></canvas> 
 

 
<input type="button" value="Get Width" onclick="getWidth()"/>

+0

Спасибо спариваться, но я не получаю эту работу с мышью. Я использую: e.clientX - canvas.offsetLeft; чтобы получить позицию ничьей, но ее не на моей мыши – Caresi

+0

Я этого не знал, и вы также не упомянули об этом в своем вопросе. Этот метод работает для меня. Я создал скриптную демонстрацию. См. [This] (http://jsfiddle.net/sx2sm5ux/1/) и извините, но я не понял, что вам действительно нужно. Если бы вы могли объяснить мне через [это] (http://jsfiddle.net/sx2sm5ux/1/) скрипку. –

+0

Спасибо! Нет, я не думал, что у меня проблемы с мышью, но я заметил, что у него тоже были проблемы. Я пробовал код в своем проекте и как-то scrollwidth возвращал 0 каждый раз, кроме случаев, когда вы изменяете размер окна браузера. Хотя скрипка отлично работает .. Редактировать! Неважно, я нашел вора, и это была моя вкладка lib. Спасибо за помощь! – Caresi