javascript - 在不重新加载页面的情况下刷新 div 内容

标签 javascript html

我正在使用 JavaScript 和 HTML5 制作网页。我写了一些将文本添加到 div 的代码。

<script type="text/javascript">
            var newGame = document.getElementById('playerStats');
            newGame.innerHTML += 'Name: ' + getPlayerName() + '<br/>';
            newGame.innerHTML += 'Class: ' + getPlayerClass() + '<br/>';
            newGame.innerHTML += 'Level: ' + getPlayerLevel() + '<br/>';
            newGame.innerHTML += 'XP: ' + getPlayerXP() + ' / ' + needXP[getPlayerLevel()];
</script>

现在假设玩家的 XP 发生了变化。我不想重新加载页面才能看到新的 XP。我希望显示播放器统计信息的 div 立即刷新,而无需重新加载页面。有什么想法吗?

P.S.:使用 load() 并不是最好的解决方案。我已经试过了,但它没有正常工作(div 变小了,奇怪的事情发生了)。

更新:我现在做了类似的事情,但是有更好的方法吗?

function updateStats(){
    var newGame = document.getElementById('playerStats');
    newGame.innerHTML = '';
    newGame.innerHTML += 'Name: ' + getPlayerName() + '<br/>';
    newGame.innerHTML += 'Class: ' + getPlayerClass() + '<br/>';
    newGame.innerHTML += 'Level: ' + getPlayerLevel() + '<br/>';
    newGame.innerHTML += 'XP: ' + getPlayerXP() + ' / ' + needXP[getPlayerLevel()];
}

function addXP() {
    player.XP++;
    if(player.XP >= needXP[getPlayerLevel()]){
        player.Level++;
        player.XP = 0;
        alert('Level UP!');
    }
    store.set('player', { Name: getPlayerName(), Class: getPlayerClass(), Level: getPlayerLevel(), XP: player.XP });
    updateStats();
}

最佳答案

目前您有一个函数可以获取出现在 newGame 中的每个数据点:getPlayerXPgetPlayerLevel 等等。您可以编写一组相应的函数来设置每个数据点。例如:

function setPlayerXP(player, xp) {
  player.xp = xp;
  updateStats();
}

通过包含对 updateStats() 的调用,您可以确保 newGame 在必要时得到更新。现在,无论何时要为该播放器属性分配新值,请确保使用 setPlayerXP

关于javascript - 在不重新加载页面的情况下刷新 div 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32039632/

相关文章:

angularjs - 可以创建可嵌入的基于 AngularJS 应用程序的小部件吗?

javascript - 使用javascript捕获新的浏览器窗口打开事件

javascript - HTML5 在 index.html 中导入外部本地 html 文件

javascript - AJAX 问题 - 在 FireFox 中没有响应文本,但在 IE 中正常

javascript - 在 DOM 中双击了哪个 HTML 元素

javascript - 从引导模式中删除所有填充

javascript - Ext JS 如何实现全屏最大化窗口显示?

javascript - 悬停时更改背景颜色和图像

html - 无论高度如何,始终在图像中心放置文本

html - 如果照片 #123 不存在,我应该向/photo.php?id=123 这样的请求抛出 404 吗?