我无法使用js创建动态元素计数器

穆斯塔法·甘纳

我正在尝试做一个测验的项目。我有选择和答案的测验数组。我实际上尝试实现一个页面计数器按钮来创建一个数字,并根据该数字我想在我的UI中添加问题数组。但是我看不到超过1。

例如,当我单击任意选择按钮时,它会继续,而另一方面,使用分页计数器,我想使用分页计数器来处理测验问题数组quizQuestions[pageCounter]

我的counter的第一个值是1。

我怎么了

const answersBlock = document.getElementById("answers");
const pageCounter = document.getElementById("count");

 let q1 = new Question("What is the best programming language?",["Python","Javascript","C#","Java"],"Javascript")
    let q2 = new Question("which one is the Server Side Programming Lanugage?",["Python","NodeJs","C#","C++"],"NodeJs")
    let q3 = new Question("Which one is the framework of JS",["Laravel","Django","Vue","C#"],"Vue");
    let q4 = new Question("Which one is not code editor?",["VsCode","NotePad++","SublimeText","Python"],"Python")
    
    //Storaging the questions
    let quizQuestions = [q2,q3,q4];
    
    document.addEventListener("DOMContentLoaded",()=>{

        //Loading the questions into Page

        UI.putQuestionsIntoUI(q1);

        //Playing around the buttons

        answersBlock.childNodes.forEach(element=>{

            if(element.nodeType === 1){
                element.addEventListener("click",()=>{

                    //console.log(element.textContent);

                    console.log("Clicked: "+ pageCounter.innerHTML +" times")

                    UI.nextQuestion(quizQuestions[pageCounter.innerText]);
                    
                    //Page Counter
                    //UI.increasePageCounter();
                    pageCounter.innerText++
                })
            }
        })
    })

UI.js

choicesToUI(answerObject){
        const answer = document.getElementById("answers");
     
        answer.innerHTML = `<button class="btn btn-primary">${answerObject.choices[0]}</button>
        <button class="btn btn-primary">${answerObject.choices[1]}</button>
        <button class="btn btn-primary">${answerObject.choices[2]}</button>
        <button class="btn btn-primary">${answerObject.choices[3]}</button>`
    }

这是js小提琴:https : //jsfiddle.net/jh2qmb1w/1/

巴津

我只是将答案按钮事件侦听器移动到choicesToUI函数。

static choicesToUI(answerObject){
        const answer = document.getElementById("answers");
     
        answer.innerHTML = `<button class="btn btn-primary">${answerObject.choices[0]}</button>
        <button class="btn btn-primary">${answerObject.choices[1]}</button>
        <button class="btn btn-primary">${answerObject.choices[2]}</button>
        <button class="btn btn-primary">${answerObject.choices[3]}</button>`
    
    
       answersBlock.childNodes.forEach(element=>{
        if(element.nodeType === 1){
            element.addEventListener("click",()=>{
                //console.log(element.textContent);
                console.log("Clicked: "+ pageCounter.innerHTML +" times")
                //Checking the answer
                Question.checkAnswer(element.textContent);

                UI.nextQuestion(quizQuestions[pageCounter.innerText]);
                
                //Page Counter
                //UI.increasePageCounter();
                pageCounter.innerText++
            })
        }
       })    
}

并在putQuestionsIntoUI函数中调用choicesToUI

static putQuestionsIntoUI(question) {
    //Gelen Paramtere Degeri Obje turundedir.
    console.log(question)

    const questionBlock = document.getElementById("question");
    const answersBlock = document.getElementById("answers");
    //Question
    questionBlock.innerHTML = `<p>${question.text}</p>`
    //Answers
    this.choicesToUI(question);
}

通过这些更改,您的代码可以完美运行:)检查此-> https://jsfiddle.net/kumnL9c4/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用循环计数器,如何动态创建对象并使用计数器命名对象?

来自分类Dev

如何使用jQuery创建计数器

来自分类Dev

使用JavaScript创建连续计数器?

来自分类Dev

我可以在XSLT 1.0中创建子元素计数器吗?

来自分类Dev

动态数组元素计数器可避免循环故障

来自分类Dev

我们如何在Java中使用数组元素作为计数器?

来自分类Dev

我们如何在Java中使用数组元素作为计数器?

来自分类Dev

使用动态IP地址停止访问计数器

来自分类Dev

使用条件时如何制作动态循环计数器

来自分类Dev

我的点击计数器程序无法正常工作

来自分类Dev

我的按钮计数器无法正常工作

来自分类Dev

for循环中的findObjectsInBackgroundWithBlock在循环结束后运行,因此我无法基于迭代计数器访问数组元素

来自分类Dev

使用CSS计数器计算隐藏元素

来自分类Dev

我试图重置计数器,一旦计数器达到10,我似乎无法正确。

来自分类Dev

如何使用Delphi创建Windows性能计数器?

来自分类Dev

使用CSS关键帧创建计数器

来自分类Dev

使用按钮为C ++创建计数器

来自分类Dev

使用游标在SQL中创建计数器

来自分类Dev

如何使用计数器创建数组?

来自分类Dev

如何使用无序链接创建页面计数器

来自分类Dev

使用计数器创建递归函数

来自分类Dev

使用 viewWillAppear 创建主视图计数器

来自分类Dev

无法在Android中使用SharedPreferences增加计数器

来自分类Dev

Excel:定性数据的动态计数器

来自分类Dev

动态增加/减少计数器

来自分类Dev

使用CSS计数器

来自分类Dev

使用PHP和JS的简单点击计数器

来自分类Dev

Matlab矩阵计数器旋转元素

来自分类Dev

输入元素的字符计数器

Related 相关文章

热门标签

归档