Estoy tratando de tener los mismos datos que configuré en una función, en una función diferente como una clave de objeto en una matriz y sigue presionando el mismo número (12). Además, estoy tratando de obtener una palabra específica del src de una imagen dentro de un bucle. ¿Cómo puedo hacer que el src sea una cadena temporal? (la línea console.log)
Edite siguiendo un comentario para que quede más claro: Actualmente, flag.setAttribute('data-flag', i); line establece la bandera de datos de TODAS las 12 banderas en 12, mientras que quiero configurarlas individualmente (bandera de datos 1 para la bandera 1, bandera de datos 2 para la bandera 2 y así sucesivamente). Otro problema: quiero dividir una palabra específica del src de las imágenes dentro de un bucle (por ejemplo, si los orígenes de las imágenes son 1-smile.gif, 2-frown.gif, 3-laugh.gif, quiero dividir el palabra que sigue al guión en el src de cada imagen, usando el ciclo y luego almacenándolo en una variable).
Agradecería mucho su ayuda.
'use strict'; var gBgEyesShift = false; var gQuestions = []; var gFlagsDiv; function init() { bgEyesMovement(); getFlag(); generateQuestions(); } function generateQuestions() { var flagId = getFlag().getAttribute('data-flag'); for (var i = 0; i < 12; i++) { gQuestions.push({id: flagId}); } } function getFlag(flag) { gFlagsDiv = document.querySelector('.flags'); for (var i = 1; i <= 12; i++) { flag = new Image(150, 150); flag.src = 'img/' + i + '.gif'; flag.setAttribute('class', 'flag'); flag.setAttribute('data-flag', i); gFlagsDiv.appendChild(flag); } console.log(flag.src.toString().slice('gif')); return flag; }
<body onload="init()"> <div class="flags"> </div>