#javascript
Вопрос:
У меня есть программа, которая записывает книги и распечатывает их через окно. Что я пытаюсь сделать, так это то, что если я перемещаю мышь по окну, оно окрашивается в другой цвет, если оно содержит информацию, и если я нажимаю в любом месте окна, эта информация полностью стирается, и поэтому фон не меняет цвет окна.
Проблема в том, что я не могу заставить эти упомянутые функции работать во всплывающем окне.
Здесь я оставляю код.
var biblioteca = new Array(); /* método personalizado */ function miToStringGenerico() { return JSON.stringify(this); } function libro(titulo, autores, anyo, editorial) { this.titulo = titulo; this.autores = autores; this.anyo = anyo; this.editorial = editorial; } function autor(nombre, apellidos, edad, nacionalidad) { this.nombre = nombre; this.aepellidos = apellidos; this.edad = edad; this.nacionalidad = nacionalidad; } window.onload = function () { document.getElementById("mostrar").onclick = Mostrar; document.getElementById("insertar").onclick = insertar; document.getElementById("").onclick = eventos; document.getElementById("").onmousemove = eventos; } function insertar() { var numlibros = parseInt(prompt("Cuantos libros vas a insertar")); for (let i = 0; i lt; numlibros; i ) { var insertalibro = insertarlibro(); biblioteca.push(insertalibro); } } function insertarlibro() { var autores = new Array(); var titulo = prompt("Insertar el nombre del titulo del libro"); var anyo = parseInt(prompt("Año")); var editorial = prompt("Inserta su editorial"); var numautores = parseInt(prompt("Cuantos autores vas a insertar")); for (let i = 0; i lt; numautores; i ) { let autor = insertarautor(); /* Aquí genero el método "toString" para que use el nuestro */ autor.toString = miToStringGenerico; autores.push(autor); } var registrohecho = new libro(titulo, autores, anyo, editorial); return registrohecho; } function insertarautor() { var nombre = prompt("Insertar el nombre del autor").toUpperCase(); var apellidos = prompt("Insertar el apellidos del autor").toUpperCase(); var edad = parseInt(prompt("Edad")); var nacionalidad = prompt("¿De que pais es el autor?"); var registrohecho = new autor(nombre, apellidos, edad, nacionalidad); return registrohecho; } function Mostrar() { console.log(Mostrar); var config = "left=100,top=100,width=300,height=250"; ventana = window.open("", "", config); biblioteca.forEach(element =gt; { console.log("Error" JSON.stringify(element.autores)); var muestra = "lt;ulgt;lt;ligt;" "Nombre del libro:" element.titulo "lt;/ligt;lt;ligt; autores: " element.autores "lt;/ligt;lt;ligt; Año en el que se publico: " element.anyo "lt;/ligt;lt;ligt; Editorial: " element.editorial "lt;/ligt;lt;/ulgt;"; ventana.document.write(muestra); }); } function eventos(elEvento) { var evento = elEvento || window.event console.log(evento); switch (evento.type) { case 'click': for (let i = 0; i lt; biblioteca.length; i ) { biblioteca.splice(0); alert("El Se han eliminado todos los datos"); } break; case 'mousemove': for (let i = 0; i lt; biblioteca.length; i ) { if (biblioteca) { ventana.style.backgroundColor = "#33FF44"; } } break; } }
HTML:
lt;bodygt; lt;div id="insertar"gt; lt;input type="button" value="Insertar"gt; lt;/divgt; lt;div id="mostrar"gt; lt;input type="button" value="Mostrar"gt; lt;/divgt; lt;/divgt; lt;/bodygt;
Комментарии:
1. Подумайте об использовании правильной пунктуации. Ваш вводный текст очень трудно прочитать и, следовательно, понять.
2. @connexo Посмотрите еще раз, пожалуйста, я изменил текст, чтобы он был понятнее