我用HTML 5画布和javascript在我的网页上创建了一个游戏。游戏在一个循环中运行,用户可以使用键盘来玩这个游戏。网页上的游戏画布有一个ID ="gamecanvas“。
但是,当视图端口大小减小时,我想停止游戏,用动画替换它(游戏在小屏幕大小上不能很好地发挥)。
为了实现这一点,我希望将游戏画布的ID属性从 ID = "gamecanvas“切换到ID==”动画画布“。
这将确保我的动画Javascript文件将访问canavs (相对于游戏Javascript文件)。
这是否有可能使用Jquery,并最终导致浏览器崩溃,因为两个脚本正在执行和运行?
有人能帮我完成下面的功能吗?
// HTML 5画布元素
<canvas id="gamecanvas" width="800" height="380"></canvas> //交换机ID代码
$(document).ready(function() {
var $window = $(window);
function checkWidth() {
var windowsize = $window.width();
if (windowsize < 979) {
...... Change ID
}
else {
Change Id...
}
}
// Execute on load
checkWidth();
// Bind event listener
$(window).resize(checkWidth);
});非常感谢
发布于 2015-03-24 14:36:15
切换ID:http://jsbin.com/bucone/2/edit
$(document).ready(function() {
var $window = $(window);
var $canvas = $("canvas");
function checkWidth() {
$canvas.attr("id", $window.width()<979 ? "animationcanvas" : "gamecanvas");
}
// Execute on load
checkWidth();
// Bind event listener
$window.resize(checkWidth);
});另请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Window/cancelAnimationFrame取消正在进行的游戏循环。
https://stackoverflow.com/questions/29235251
复制相似问题