canvas中画布自适应jquery语句的兼容性问题 5

为了使canvas根据窗口大小设置画布大小,使用以下Jquery语句:$(canvas).attr("width",$(window).get(0).innerWidth... 为了使canvas根据窗口大小设置画布大小,使用以下Jquery语句:
$(canvas).attr("width",$(window).get(0).innerWidth);
$(canvas).attr("height",$(window).get(0).innerHeight);
但是canvas如果不在初始化标签<canvas>中给定width和height的话,就会获得一个默认值(360极速环境下为300px*150px)
那么问题来了,在之后使用上述两条语句时,会造成浏览器的处理方式的分歧。360极速环境下是不会拉伸画布的,但是我同学的谷歌浏览器拉伸了画布。
如何解决这个问题呢
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
小宝宝小天使
2014-12-10 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:78
采纳率:0%
帮助的人:87.5万
展开全部
你的语句就写错了$(canvas)少了引号。而且加上引号是所有canvas表签。

试试这样也可以:
$('canvas').width($(window).width());
更多追问追答
追问
抱歉没解释清楚,前面有一句 var canvas = document.getElementById("canvas_id");
追答
.......你至于吗。
JQUERY就有获取ID的方法。直接$('#canvas')

我记得你这样写会有问题的,我以前试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hql2030
2014-12-10 · TA获得超过159个赞
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:94.1万
展开全部
先获得浏览器窗口的大小 var width = $(window).width();
然后根据你所需要的比例来获得高度 var height = width*9/16 //这里用的是16:9的比例
然后再赋值,接下来就看你的了... ...
追问
这也是自适应啊。。。。那如何防止拉伸呢。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式