元素拒绝移动- jQuery .css
Elements refuse to move - jQuery .css
这里我有一个奇怪的问题。我正在创建一个简单的直升机游戏(老式的类型-点击上升,避免障碍)。我的问题是,障碍物产生,但没有正确的位置,然后他们不会移动。我试图用jQuery的css()
移动它们- css
方法在其他任何事情上都很好,但当使用top
和left
时却没有。
问题函数(生成和移动障碍):
game.background.generateObs = function() {
var top = Math.floor(Math.random()*game.canvas.height);
var left = game.canvas.width-10;
var $obs = $("<div></div>")
$obs.addClass("obs").appendTo("#canvas");
$obs.css({
background: "black",
position: "absolute",
height: game.obstacle.height,
width: game.obstacle.width,
});
$obs.css("top", $("#canvas").offset().top + top )
.css("left",$("#canvas").offset().left + left);
game.obstacle.width = Math.floor(Math.random()*200);
if(game.gameState=="running") {
setTimeout("game.background.generateObs()",obsInterval);
}
else {
return;
}
}
game.background.moveObs = function() {
var currentPos = $("#canvas div.obs").css("left");
var newPos = currentPos - game.obstacle.frameWidth;
$("#canvas div.obs").css("left",newPos);
if(game.gameState=="running") {
setTimeout("game.background.moveObs()",interval);
}
else {
return;
}
}
另一件事是,jsFiddle现在告诉我,game
是未定义的,当我在开始的时候定义它。
$("#canvas div.obs").css("left")
在您的小提琴中返回auto
,而不是一个数字。
尝试使用.offset()。离开。
此外,您应该像这样更改您的setTimeout
调用:
setTimeout(game.background.moveObs,interval);
相关文章:
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 自定义Jquery css下拉菜单问题
- jQuery css可见性在load方法中不起作用
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- Jquery CSS背景图像旋转
- 使用jQuery.css()方法时,是否需要转义任何字符
- 将jQuery.css()与变量一起使用
- 如何在jQuery.CSS()方法中为所有浏览器编写CSS代码
- 使用 js/jQuery/css 在重力形式中覆盖 !important
- 投资组合扩展器宽度 - Jquery CSS
- jQuery .css body opacity
- 当到达屏幕顶部时,jquery/css转换
- 如何防止文本区域在打字和进入页面底部时跳舞?:JQuery/CSS
- 在没有特定属性的情况下使用jQuery.css()
- 如何在HTML+jQuery+CSS中显示弹出窗口
- jQuery css"点击“;不会'更改日历中选定的月份后无法工作
- jQuery .css() 返回像素而不是百分比
- jquery css没有'我的情况不太好
- Jquery/CSS:全尺寸背景图像
- jquery.css()中的变量