以javascript

时间:2016-02-24 13:12:03

标签: javascript jquery html

我试图进行拖放测验,每个问题都在不同的html页面上,我需要得到结果,所以我在外部javascript文件中制作了一个javascript,它在1 html页面上工作但是它不在多个页面上,例如......该功能正在重置。我不是编程专家,所以这里是柜台 js.js文件

var count=0; 
function fun() {
  count=count+1;

}

function result(){
    document.write("your mark is " + count + " from 9")

}

并且这里是其他页面中的代码..我做了3只是为了测试它

 if ( slotNumber == cardNumber ) {
    ui.draggable.addClass( 'correct' );
    ui.draggable.draggable( 'disable' );
    $(this).droppable( 'disable' );
    ui.draggable.position( { of: $(this), my: 'left top', at: 'left top' } );
    ui.draggable.draggable( 'option', 'revert', false );
    correctCards++;
    fun();
  } 

那么如何在不重置的情况下在不同的页面上调用它呢?

5 个答案:

答案 0 :(得分:2)

localStorage.setItem("count",count); 

然后你可以用

从不同的页面调用它
var count= localStorage.getItem("count");

答案 1 :(得分:1)

您可以使用localStorage存储同一域的所有网页的计数值。

function fun() {
  var count = localStorage.getItem("count") || 0;
  localStorage.setItem("count", ++count);
}

function result() {
  document.write("your mark is " + (localStorage.getItem("count") || 0) + " from 9")
}

答案 2 :(得分:0)

试试这个。这将记住连续页面加载的计数(除非您的浏览器不支持它,在这种情况下,它将在页面加载时重置为0)。

function lstorage(key, val) {
    if(typeof(Storage) !== "undefined") {
        if(typeof(val) !== "undefined") {
            localStorage.setItem(key, val); 
        } else {
            return localStorage.getItem(key);
        }
    }
}

var count=lstorage("savedCount") || 0; 
function fun() {
    count++;
    lstorage("savedCount", count);
}

答案 3 :(得分:0)

以下是Cookie的示例。

// Set a cookie
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
} 

// Get a cookie
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
} 

Source

答案 4 :(得分:0)

如果网站仅使用HTML和JavaScript,那么最好的选择可能是使用cookieslocal storage

例如,在测试开始时使用cookie,您将创建一个空cookie,其中将存储答案。格式取决于你,但我喜欢使用类似JSON的结构,所以我会做以下事情:

创建一个函数来获取所需的cookie:

function getAnswers(){
    var cookies = document.cookies;
    for(var i=0; i<cookies.length; i++){
        if(cookies[i].split("=")[0] == "answers"){
            return cookies[i].split("=")[1];
        }
    }
    return null;
}

在测试开始时:

document.cookie="answers=[]";

每个答案:

var answers = JSON.parse(getAnswers());
answers.push({
    "question": questionNumber, //the id of the question
    "answer": pickedAnswer //what user selects
});
document.cookie("answers=" + JSON.stringify(answers));

最后,在执行getAnswers()时,您将得到一系列对象,其中包含有关每个提交的答案的信息。例如

[
    {"1": "A"},
    {"2": "D"},
    {"3": "C"},
    {"4": "B"}
]