我试图进行拖放测验,每个问题都在不同的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();
}
那么如何在不重置的情况下在不同的页面上调用它呢?
答案 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 "";
}
答案 4 :(得分:0)
如果网站仅使用HTML和JavaScript,那么最好的选择可能是使用cookies或local 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"}
]