我四处寻找如何使用该Object.defineProperty方法,但找不到任何体面的东西.
有人给了我这段代码:
Object.defineProperty(player, "health", {
get: function () {
return 10 + ( player.level * 15 );
}
})
Run Code Online (Sandbox Code Playgroud)
但我不明白.主要get是,我不能得到(双关语).它是如何工作的?
我有一个"容器" div我给了margin:auto;它只要我给它一个特定的工作正常width,但现在我改变它inline-block并且不margin:auto;工作
#container {
border: 1px solid black;
height: 500px;
width: 650px;
}
.MtopBig {
margin-top: 75px;
}
.center {
margin-left: auto;
margin-right: auto;
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
#container {
border: 1px solid black;
display: inline-block;
padding: 50px;
}
.MtopBig {
margin: 75px auto;
position: relative;
}
.center {
text-align: center;
}
Run Code Online (Sandbox Code Playgroud)
在调试我用Firebug写的JavaScript程序时,Script面板停止工作,我得到以下消息:

我浏览了所有可以找到的菜单和子菜单,但没有看到重新启用此功能的选项.该console.log()命令在Firebug中也不起作用(虽然它在内置的devtools控制台中有效).
如何重新激活Firebug Script面板?可能是什么导致了这个?
我正在使用html5/javascript/jQuery/css进行移动应用程序开发.我在应用程序中有多个textareas.当我点击它输入时,键盘弹出(android选项卡).但是textarea仍然保留在该页面上的位置.键盘弹出时如何滚动页面.
我在javascript中制作了一个扫雷游戏,最后运行起来非常顺利,直到我添加了"expand()"功能(见下文).我有3个问题:
相关代码和链接低于这两个图像


var flippedCount = 0;
var alreadySetAsZero = [];
var columnAmount = 10;
function processClick(clicked) { //i use a "(this)" to pass as "(clicked)"
nextToBombCheck( parseInt(clicked.id) );
checkWin();
}
nextToBombCheck( boxNum ) {
flippedCount++;
document.getElementById("flipped").innerHTML = flippedCount;
//long function setting "bombCount" to # bombs around clicked square goes here
if ( bombCount !== 0 ) {
//blah blah blah
} else {
alreadySetAsZero[ boxNum ] = "yes";
expand(boxNum);
}
}
function expand( emptyBoxId ) …Run Code Online (Sandbox Code Playgroud) 我有一个联系网页,在其中我有div一些css应用到特定的div使用它的id,我想使用这种样式div来添加更多的s,但只有body. 但是我有一个标题div,我在这个网站上的所有页面上都使用它,我不希望这种样式应用于它或其子项。
我如何css :not()在#header div 和它的孩子上使用选择器?
我正在尝试div用不同的background-colors 制作一个游戏板,所以我写了一些简单的CSS(我只是想弄清楚如何在这个阶段做到这一点,我div手动编写了s - 所以我不包括html/js)
.grass {
background-color: oliveDrab;
}
.dirt {
background-color: sandyBrown;
}
div{
height: 25px;
width: 25px;
display: inline-block;
margin: 0;
}
Run Code Online (Sandbox Code Playgroud)
当我渲染它,并有一个余地.像这样:

所以我检查萤火虫,它表明margin,border和padding是0!

我被引导觉得我在这里缺少一些非常基本的CSS知识.
我正在做一个基于文本的蹩脚游戏,我做了一个像这样的对象玩家:
var player = {
displayText: "<span>you</span>",
currentPosition: 0,
level: 1,
health: function() { return 10 + (this.level * 15) },
strength: function() { return this.level * 5 },
hitRating: 4
}
Run Code Online (Sandbox Code Playgroud)
我的理解是你可以给一个对象一个函数作为属性.
但是,当alert(player.health)我得到:
function() { return 10 + (this.level * 15) }
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?您是否无法以这种方式声明对象属性?有没有办法自动生成player.health以后调用的任何时间的值?
我的程序中有以下对象
function Player(id) {
this.id = id;
this.healthid = this.id + "health";
this.displayText = "blah blah";
this.inFight = false;
this.currentLocation = 0;
this.xp = 0;
this.level = 1;
}
var player = new Player('player');
player.currentHealth = player.health;
Run Code Online (Sandbox Code Playgroud)
我打印出这样的属性名称
function displayStats() {
var statsHtml = "";
for ( var prop in player ) {
statsHtml += "<p id = 'displayPlayerHealth'>" + prop + "</p>";
}
$('.stats').html( statsHtml);
console.log(statsHtml);
}
displayStats();
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我宣布的其他财产是这样的
Object.defineProperty(player,"health",{
set: function() {
return 10 + ( this.level * …Run Code Online (Sandbox Code Playgroud) 一个非常简单的问题,是否有一种情况,在javascript中使用原始数据类型是优选的,我特别困扰原始布尔值,请考虑以下代码
var bool = new Boolean(false);
if (bool){
alert(bool);
}
Run Code Online (Sandbox Code Playgroud)
它会,alert但你会得到false,这有点令人困惑(false!= falsy).
那么使用原始数据类型尤其是原始布尔值是否有意义?
制作(跛脚)游戏,我想检查所选方块是否包含怪物,但是我的 indexOf 一直返回 -1。相关代码如下。
初始化:
var monsters = [];
var monsterPositions = [2,8,13,15,22];
var player = { "currentPosition": 0 };
for ( var i in monsterPositions ) {
monsters[i] = new createMonster("monster",monsterPositions[i],1); }
function createMonster(name,startingPoint,level) {
this.currentPosition = startingPoint; }
Run Code Online (Sandbox Code Playgroud)
由<td>onclick触发的函数:
function processClick(trigger){
console.log( trigger.id + " " + monsterPositions );
if ( monsterPositions.indexOf(trigger.id) >= 0 ){
if ( !fight( findMonster( parseInt( trigger.id ) ) ) ){
return;
}
}
if ( gameOn ) move( parseInt( trigger.id ) …Run Code Online (Sandbox Code Playgroud) 在我的程序中,我有一个jquery线
$( '#monsters[0]').animate( { left: "+=25" },500);
Run Code Online (Sandbox Code Playgroud)
我有一个名为怪物的数组,但我不明白为什么会有所作为,这个代码确实工作时,我将ID更改为不同的图像ID,而我把('img')它甚至工作在图像与id monsters[0]我也很确定这是图片ID.但是我运行上面的代码,图像没有任何反应,控制台中也没有出现任何错误,任何人都可以解释这个吗?
链接在这里,如果这有帮助的话.
首先让我说我看过这篇文章.
它表示(和api.jquery.com一样).live()并且.on()让你分配一个jquery事件,它甚至适用于未来的元素.但是我的以下jquery:
$("#playerImg").on("mouseenter",function () {
console.log("works");});
Run Code Online (Sandbox Code Playgroud)
在开始时工作,但在我运行此代码后:
function move(moveTo) {
document.getElementById(player.currentLocation).innerHTML = "";
player.currentLocation = moveTo;
document.getElementById(player.currentLocation).innerHTML += player.displayText;
}
Run Code Online (Sandbox Code Playgroud)
这是相关的变量
var player = {
"displayText" : "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
id='playerImg' "class='onTop' alt='you' border='0' />",
"currentLocation": 0 //(i use a 5 * 5 table with id's 0-24)
}
Run Code Online (Sandbox Code Playgroud)
上面的代码没有运行.我如何在jquery中创建一个事件,它可以在不存在的元素上运行?
javascript ×9
css ×3
html ×3
jquery ×2
margin ×2
object ×2
activation ×1
android ×1
children ×1
firebug ×1
for-in-loop ×1
foreach ×1
indexof ×1
minesweeper ×1
primitive ×1
pseudo-class ×1
variables ×1