Сбой при установке атрибута для холста из Javascript - PullRequest
1 голос
/ 07 июля 2010

Я должен установить атрибуты 'width' и 'height' для элемента canvas, в зависимости от доступного разрешения экрана.Установка их статически из HTML работает (например, <canvas id="canv" width="1600" ...).Из Javascript я не могу это сделать.Я гуглил и искал в SO, но я не нашел ничего, что работает.Я использую JQuery, и я безуспешно пытался выполнить следующее (то же самое для атрибута высоты)

$('#canv').setAttribute('width',screen.availWidth);
$('#canv').attr('width',screen.availWidth);
$('#canv').data('width',screen.availWidth);
$('#canv').width = screen.availWidth;
$('#canv').css('width',screen.availWidth);

Я сделал то же самое, поместив var cv = $('#canv')[0].getContext("2d"); и изменив $('#canv') на cv, но безрезультатно.

бб

Ответы [ 2 ]

7 голосов
/ 08 июля 2010

Я изменил код на jsfiddle.net / pUcjV / 2 на

$('#canv').attr("width", screen.availWidth);    
$('#canv').attr("height", screen.availHeight);  
circlesBG (cv, col, screen.availWidth, screen.availHeight);

от

circlesBG (cv, col, screen.availWidth, screen.availHeight);
$('#canv').width(screen.availWidth);    
$('#canv').height(screen.availHeight);    

Это произвело звезды по всему холсту. Это желаемый результат? Я использую Chrome 5.0.375.99.

2 голосов
/ 07 июля 2010

Вы можете сделать это так, но я не уверен, что вам нужен размер экрана :

$('#canv').width(screen.availWidth);​

Вы можете увидеть демонстрациюздесь

...