当前位置: 首页 > 知识库问答 >
问题:

在使用jQuery更改div后获取div的原始值

仲鸿风
2023-03-14

我在尝试重现一个我见过的游戏机械师。机械师是个装枪的人。

目前我已经设置好了,所以当你点击一个有“.武器”类的div时,它会倒数“弹药”,如果你到了0,它会说没有弹药。

如果你点击并按住“.武器”x时间,那么它就会进行重装。

问题是,当我做任何事情时,总是有很多---当我想重新装入武器3时,例如,我不知道如何获得那个div(“.warm”)开始的“ammo”的原始值。

我试着在var中设置值,但我不确定是否需要在对象或类似的东西中设置值?

最让我困惑的是jQuery$(this)。

例如,类“.武器”的5个div我知道你可以通过一个click函数(或其他任何东西)来隐藏类“.武器”,这取决于你点击的div中的哪一个,而不是全部隐藏它们。但对于我试图用var做的事情,显然是不一样的,反正我不认为是这样的。

我非常肯定,除了我强调的问题之外,所有其他的事情都做得不对,所以如果你想让我知道它有多糟糕,请放心,LOL。

不知道这是否有意义,因为我也不擅长解释自己。(反正不在文本中)

如果你想帮忙,我需要解释任何进一步的,请让我知道,并感谢您甚至阅读了这一点,如果你做了。:)

亲切的问候

HTML

<div id="wrapper">
  <div class="weapon center">
    <div class="ammo">5</div>
  </div>
  <div class="weapon center">
    <div class="ammo">8</div>
  </div>
  <div class="weapon center">
    <div class="ammo">10</div>
  </div>
  <div class="weapon center">
    <div class="ammo">12</div>
  </div>
  <div class="message"></div>
</div>

CSS

#wrapper{
  width:40%;
  margin:30px auto;
}

.weapon{
  float:left;
  width:80px;
  height:80px;
  border: 2px dashed #000;
  padding:5px;
  margin:5px;
  line-height:80px;
  text-align:center;
}

jQuery

$(document).ready(function(){

  var n;
  var currentReload = 0;
  var reloaded = false;

  $('.weapon').ready(function(){
    bb = $(this);
    bcurrentAmmo = bb.find('.ammo').html();
  });

  function reload(bb,bcurrentAmmo) {
    if(currentReload <= 2){
      currentReload++;
    }else{
      bb.find('.ammo').html(bcurrentAmmo);
      reloaded = true;
      clearInterval(n);
    }
  }

  $('.weapon').mousedown(function(){
    reloaded = false;
    n = setInterval(function() { reload(bb,bcurrentAmmo);}, 100);
  }).mouseup(function() {
    currentReload = 0;
    clearInterval(n);
  });

  $('.weapon').click(function(){
    if(reloaded == false){
      b = $(this);
      currentAmmo = b.find('.ammo').html();
      if(currentAmmo >= 1){
        currentAmmo--;
      }else{
        $('.message').html("No Ammo! Click & Hold To Reload")
      }
      b.find('.ammo').html(currentAmmo);
    }
  });

});

共有1个答案

戚甫
2023-03-14

向标记为“maxammo”的元素添加一个属性。然后可以使用element.getAttribute(“maxammo”)获取原始的ammo值。

 类似资料:
  • 我需要从一组div中的一个点击的div中获取输入值。 现在脚本 这将返回第一个div的值,无论我单击哪个div。

  • 问题内容: 我有一个div,其中包含数据库的一些文本: 以及链接列表: 该过程应如下所示: 点击链接 Ajax使用链接的URL通过GET将数据传递到php文件/同一页面 PHP返回字符串 div更改为此字符串 问题答案: 并在您的列表中添加事件

  • 问题内容: 我有一个div,其内容可能会以各种方式更改:例如,可以通过innerHTML重新加载其整个内容,或者可以通过DOM方法添加节点。反过来,这可能是通过本地javascript发生的,也可能是通过调用jQuery API或其他库间接发生的。 我希望在div的内容改变为执行一些代码,但我 绝对没有控制 上 如何 将改变。确实,我正在设计一个可供其他人使用的小部件,他们可以自由选择自己喜欢的d

  • 我不知道如何为这个问题设置一个标题。 我想要的是用单击的标记的内容更改DIV内部的内容。问题是,在我的标记中,我有另一个嵌套的DIV和一些文本,我不希望该文本在更改时显示。 如何在更改时只显示标记的内容,而不显示其子div? 这是我的代码和指向JSFiddle的链接 null null https://jsfidle.net/mariokala/zmdjoy9b/28/

  • 问题内容: 我正在尝试使用来自ajax html响应的内容更新div。我相信我的语法正确,但是div内容已替换为整个HTML页面响应,而不仅仅是html响应中选择的div。我究竟做错了什么? 问题答案: 您正在设置HTML格式的内容,然后将其替换为本身,这没有多大意义? 我猜你真正在哪里寻找返回的数据,然后用ajax调用中的html用html 更新DOM中的元素:

  • Java脚本代码段 在Servlet 这很好用!但是我想相应地改变div(反馈)的背景色,这意味着如果条件为真,背景色应该是绿色,否则背景色应该是红色(否则)