小编Mat*_*ler的帖子

如何使用javascript Object.defineProperty

我四处寻找如何使用该Object.defineProperty方法,但找不到任何体面的东西.

有人给了我这段代码:

Object.defineProperty(player, "health", {
    get: function () {
        return 10 + ( player.level * 15 );
    }
})
Run Code Online (Sandbox Code Playgroud)

但我不明白.主要get是,我不能得到(双关语).它是如何工作的?

javascript object defineproperty

167
推荐指数
3
解决办法
9万
查看次数

保证金:汽车; 使用内联块

我有一个"容器" div我给了margin:auto;它只要我给它一个特定的工作正常width,但现在我改变它inline-block并且不margin:auto;工作

以前的CSS

#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)

新的css

#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)

DEMO小提琴.

css margin

19
推荐指数
3
解决办法
2万
查看次数

如何激活Firefox调试器?

在调试我用Firebug写的JavaScript程序时,Script面板停止工作,我得到以下消息:

调试器未激活

我浏览了所有可以找到的菜单和子菜单,但没有看到重新启用此功能的选项.该console.log()命令在Firebug中也不起作用(虽然它在内置的devtools控制台中有效).

如何重新激活Firebug Script面板?可能是什么导致了这个?

firebug activation firefox-addon javascript-debugger

8
推荐指数
1
解决办法
2万
查看次数

键盘弹出时向上滚动文本字段

我正在使用html5/javascript/jQuery/css进行移动应用程序开发.我在应用程序中有多个textareas.当我点击它输入时,键盘弹出(android选项卡).但是textarea仍然保留在该页面上的位置.键盘弹出时如何滚动页面.

javascript android android-layout android-softkeyboard

7
推荐指数
1
解决办法
9970
查看次数

javascript minesweeper扩大搞乱柜台

我在javascript中制作了一个扫雷游戏,最后运行起来非常顺利,直到我添加了"expand()"功能(见下文).我有3个问题:

  1. 当它扩展时,它会增加太多"flippedCount"(见下面的代码) - 在右下方div中的图像显示"flippedCount",而它的39则代替35.
  2. 结果,如果玩家在"展开()"期间超过90格(赢得金额),则获胜屏幕不会显示.
  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)

html javascript minesweeper

6
推荐指数
1
解决办法
677
查看次数

我如何在元素及其子元素上使用 css“.not()”

我有一个联系网页,在其中我有div一些css应用到特定的div使用它的id,我想使用这种样式div来添加更多的s,但只有body. 但是我有一个标题div,我在这个网站上的所有页面上都使用它,我不希望这种样式应用于它或其子项。

我如何css :not()#header div 它的孩子上使用选择器?

css children css-selectors pseudo-class

4
推荐指数
1
解决办法
2208
查看次数

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,borderpadding0!

没有风格的余地

DEMO小提琴.

我被引导觉得我在这里缺少一些非常基本的CSS知识.

html css margin

4
推荐指数
1
解决办法
87
查看次数

声明具有无效功能的javascript对象属性

我正在做一个基于文本的蹩脚游戏,我做了一个像这样的对象玩家:

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以后调用的任何时间的值?

javascript

3
推荐指数
2
解决办法
3886
查看次数

如何遍历Object.defineProperty创建的对象属性

我的程序中有以下对象

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 foreach object for-in-loop defineproperty

3
推荐指数
1
解决办法
540
查看次数

在javascript中有原始变量吗?

一个非常简单的问题,是否有一种情况,在javascript中使用原始数据类型是优选的,我特别困扰原始布尔值,请考虑以下代码

var bool = new Boolean(false);
if (bool){
    alert(bool);
}
Run Code Online (Sandbox Code Playgroud)

它会,alert但你会得到false,这有点令人困惑(false!= falsy).

那么使用原始数据类型尤其是原始布尔值是否有意义?

javascript variables primitive boolean-logic

3
推荐指数
1
解决办法
116
查看次数

javascript indexOf 总是返回 -1

制作(跛脚)游戏,我想检查所选方块是否包含怪物,但是我的 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)

javascript indexof

2
推荐指数
1
解决办法
798
查看次数

为什么这个jquery不起作用?

在我的程序中,我有一个jquery线

$( '#monsters[0]').animate( { left: "+=25" },500);
Run Code Online (Sandbox Code Playgroud)

我有一个名为怪物的数组,但我不明白为什么会有所作为,这个代码确实工作时,我将ID更改为不同的图像ID,而我把('img')它甚至工作在图像与id monsters[0]我也很确定这是图片ID.但是我运行上面的代码,图像没有任何反应,控制台中也没有出现任何错误,任何人都可以解释这个吗?

链接在这里,如果这有帮助的话.

javascript jquery

1
推荐指数
1
解决办法
112
查看次数

如何使jquery函数与动态变化的元素一起工作

首先让我说我看过这篇文章.

它表示(和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中创建一个事件,它可以在不存在的元素上运行?

链接在这里

html javascript jquery

0
推荐指数
1
解决办法
66
查看次数