Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   управление клавишами (https://javascript.ru/forum/misc/75711-upravlenie-klavishami.html)

borodasalatovaia 31.10.2018 16:11

управление клавишами
 
ребят помогите я только начинаю учить js

у меня есть картинка и я хочу заставить ее двигатся в лево для начала хотябы. вот код



var block = document.getElementsByTagName('test');
var left1 = 0;

document.onkeydown = function (event) {

console.log(event);
if (event.key == 'ArrowRight') {
block.style.left = + left1 'px'; (вот здесь в консоле показывает ошибку)
left1 ++;



}

}

:help: :help: подскажите что не так или какой код нужно писать. картинка лежит в блоке див с айди "test"

рони 31.10.2018 16:14

Цитата:

Сообщение от borodasalatovaia
block.style.left = + left1 'px'

block.style.left = left1 + 'px';

borodasalatovaia 31.10.2018 16:16

красным подчеркивает left1 + 'px';
и выдает такой текст ошибки

Uncaught TypeError: Cannot set property 'left' of undefined .

j0hnik 31.10.2018 16:19

<test style="position:absolute; left:0;top:0;">картинка</test>
	<script>

var block = document.getElementsByTagName('test')[0];
var left1 = 0;

document.onkeydown = function (event) {

console.log(event);
if (event.key == 'ArrowRight') {
block.style.left = left1+'px';
left1 ++;

}
};
	</script>

j0hnik 31.10.2018 16:21

TagName - возвращает коллекцию, у нее нет стайл.
block.style.left = + left1+ 'px';
+= нельзя, это строка будет конкатенация.
да и что за тег странный test?

borodasalatovaia 31.10.2018 16:23

когда ложу твой код в html все клас все работает, а перекидываю код js в отдельный файл js и уже выдает ошибку что не так? :help: :help: :help:

j0hnik 31.10.2018 16:25

если в head подключаете то надо обернуть
document.addEventListener("DOMContentLoaded", function(){
//ваш код
});

borodasalatovaia 31.10.2018 16:28

спасибо заработало)

Dilettante_Pro 31.10.2018 16:30

Цитата:

Сообщение от j0hnik
да и что за тег странный test?

Цитата:

Сообщение от borodasalatovaia
картинка лежит в блоке див с айди "test"

????
Цитата:

Сообщение от borodasalatovaia
спасибо заработало)



Часовой пояс GMT +3, время: 14:30.