>  기사  >  웹 프론트엔드  >  매우 부드러운 느낌을 주는 js로 구현된 키보드 제어(관성 포함)_javascript 기술

매우 부드러운 느낌을 주는 js로 구현된 키보드 제어(관성 포함)_javascript 기술

WBOY
WBOY원래의
2016-05-16 19:12:081395검색

매우 부드러운 키보드 제어(관성 있음)


[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다
]<script> var keyCache = []; var isCache = false; var cacheNum = 0; document.onkeydown = insertKey; document.onkeyup = function(){if(!isCache && event.keyCode>=37&& event.keyCode<=40) keyCache.length = 0;} function insertKey(){ var kc = event.keyCode; if(kc>=37 && kc<=40){ if(kc!=keyCache[keyCache.length-1]){ keyCache.length = 0; keyCache.push(kc,kc,kc,kc,kc,kc) //保证流畅多注入6个 isCache = true; } keyCache.push(kc); } } window.setInterval("writeCache()", 50); function writeCache(){ if(keyCache.length==0) return; var kc = keyCache.shift(); switch(kc){ case 37: man.style.left = parseInt(man.style.left) - 5;break; case 38: man.style.top = parseInt(man.style.top) - 5;break; case 39: man.style.left = parseInt(man.style.left) + 5;break; case 40: man.style.top = parseInt(man.style.top) + 5;break; } if(isCache) cacheNum++; if(cacheNum == 5){ isCache = false; cacheNum = 0; } } </script>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.