javascript - 如何使字母的赌场式增量?

标签 javascript html css string replace

我需要转换(当用户做某事时):

adcb

到(每个字母的下一个字母):

bedc

目前我正在使用 并覆盖字符。

还记得 Pkmn 游戏 Angular 吗?

enter image description here

如果我们可以模拟 Angular 色的移动(图中,从 7 变成皮卡丘),那不是很酷吗?

PS - 我不知道如何处理这个...

最佳答案

这可以通过 CSS 动画来实现,以移动字母,在字母不可见时更新字母。

jsfiddle

HTML:

<div id="reels">
  <div>A</div>
  <div>L</div>
  <div>E</div>
  <div>X</div>
</div>
<button id="slide">Slide</button>

CSS:

#reels > div {
  width: 20px;
  height:30px;
  overflow:hidden;
  padding:3px;
  display:inline-block;
}

#reels > div.reel-change {
  animation: slideReel 1s 1;
}

@keyframes slideReel {
  0% {
      transform: translateY(0);
  }
  49% {
      transform: translateY(-30px);
  }
  50% {
      transform: translateY(30px);
  }
  100 % {
      transform: translateY(0px);
  }
}

#reels {
  margin-bottom:10px;
}

JavaScript:

$(function() {
    $('#slide').click(function() {
    var delay = 0;
    $('#reels').children().each(function() {
        var reel = this;
        setTimeout(function() {
        $(reel).toggleClass("reel-change");
      }, delay);
      setTimeout(function() {
        changeLetter(reel);
      }, delay + 500);
      setTimeout(function() {
        $(reel).toggleClass("reel-change");
      }, delay + 1000);
      delay += 500;
    });
  });
});

function changeLetter(el) {
      el.innerHTML = incrementChar(el.innerHTML);
}

var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('')
function incrementChar(c) {
    var index = alphabet.indexOf(c);
    return alphabet[index + 1] || alphabet[0];
}

编辑:鉴于根据您的上述评论,这是一个很好的理由,我让它变得更漂亮了!!

https://jsfiddle.net/bigalreturns/ctuujz3j/2/

关于javascript - 如何使字母的赌场式增量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40792568/

相关文章:

javascript - 用JQuery在div中插入html删除Anchor标签

html - 超链接的异常行为

javascript - 通过前一个复选框更改文本框值

css - 无法在 VueJs 应用程序中导入 css(Webpack 错误)

html - Div 换行,即使我正在使用溢出 : hidden

javascript - 如何将 .createElement ("image") 也制作成链接

javascript - Leaflet CRS.Simple on Chrome Android 分辨率低缩放

javascript - 类型错误 : Cannot read property 'add' of undefined"Flatpickr & Vue. js

html - Bootstrap Jumbotron 不会变成整个 body 宽度

css - 加载指示器 "position:absolute"始终显示在顶部