Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;这";无法引用嵌套函数,如何解决此问题?_Javascript_Dom - Fatal编程技术网

Javascript &引用;这";无法引用嵌套函数,如何解决此问题?

Javascript &引用;这";无法引用嵌套函数,如何解决此问题?,javascript,dom,Javascript,Dom,“this”的引用没有达到“timedFlip”函数,我应该如何解决这个问题?我对Javascript相当陌生,我主要在后端使用Python function flipBack() { setInterval(timedFlip, 3000); } function timedFlip() { this.setAttribute('src', 'images/back.png'); } function flipCard() { cardId = this.getAt

“this”的引用没有达到“timedFlip”函数,我应该如何解决这个问题?我对Javascript相当陌生,我主要在后端使用Python

function flipBack() {
    setInterval(timedFlip, 3000);
}

function timedFlip() {
    this.setAttribute('src', 'images/back.png');
}

function flipCard() {
    cardId = this.getAttribute('data-id');
    console.log("User flipped " + cards[cardId].rank);
    console.log(cards[cardId].cardImage);
    console.log(cards[cardId].suit);
    cardsInPlay.push(cards[cardId].rank);
    this.setAttribute('src', cards[cardId].cardImage);
    checkForMatch();
}

function createBoard() {
    shuffle(cards);
    for (var i = 0; i < cards.length; i++) {
        var cardElement = document.createElement('img');
        cardElement.className = "cards";
        cardElement.setAttribute('src', 'images/back.png');
        cardElement.setAttribute('data-id', i);
        cardElement.addEventListener('click', flipCard);
        cardElement.addEventListener('click', flipBack);
        document.getElementById('game-board').appendChild(cardElement);
    }
}
function flipBack(){
设置间隔(timedFlip,3000);
}
函数timedFlip(){
this.setAttribute('src','images/back.png');
}
函数flipCard(){
cardId=this.getAttribute('data-id');
console.log(“用户翻转”+卡片[cardd].rank);
console.log(卡片[cardId].cardImage);
console.log(卡片[cardd].suit);
cardsInPlay.push(卡片[cardd].rank);
this.setAttribute('src',cards[cardId].cardImage);
checkForMatch();
}
函数createBoard(){
洗牌;
对于(变量i=0;i
使用:


timedFlip
函数中,您希望该
引用什么?您可以在setTimeout中添加下一个参数,并在timedFlip中读取它们。设置间隔(timedFlip,3000,this);然后是timedFlip(that){that.setAttribute(。。。
function flipBack() {
    setInterval(timedFlip.bind(this), 3000);
}