在 JavaScript 中计数结果
counting result in javascript
本文关键字:结果 JavaScript 更新时间:2023-09-26
我正在尝试进行拖放测验,每个问题都在不同的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();
}
那么我如何在不同的页面上调用它而不让它自行重置呢?
localStorage.setItem("count",count);
然后你可以从不同的页面调用它
var count= localStorage.getItem("count");
您可以使用 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")
}
试试这个。 这将为您记住连续页面加载的计数(除非您的浏览器不支持它,在这种情况下,它将在页面加载时重置为 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);
}
下面是一个 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 "";
}
源
如果网站只使用HTML和JavaScript,那么最好的选择可能是使用cookie或本地存储。
例如,在测试开始时使用 cookie,您将创建一个空 cookie,用于存储答案。格式由您决定,但我喜欢对所有内容使用类似 JSON 的结构,所以我会执行以下操作:
创建一个函数来获取您想要的 cookie:
function getAnswers(){
var cookies = document.cookies;
for(var i=0; i<cookies.length; i++){
if(cookies[i].split("=")[0] == "answerswers"){
return cookies[i].split("=")[1];
}
}
return null;
}
测试开始时:
document.cookie="answerswers=[]";
在每个答案上:
var answers = JSON.parse(getAnswers());
answers.push({
"question": questionNumber, //the id of the question
"answerswer": pickedAnswer //what user selects
});
document.cookie("answerswers=" + JSON.stringify(answers));
最后,在执行getAnswers()
时,您最终将得到一个对象数组,其中包含有关每个提交答案的信息。例如
[
{"1": "A"},
{"2": "D"},
{"3": "C"},
{"4": "B"}
]
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- 数组删除重复结果Javascript
- 比较数组中的连续元素不会返回任何结果(javascript)
- split(' ') 函数没有给出正确的结果 Javascript
- 如何产生结果Javascript嵌套缺陷
- I'm试图使用onclick函数显示函数的结果.(javascript)
- 计算结果Javascript中不同数字的数量
- 以 HTML 格式显示计算结果 (javascript)
- 没有得到预期的结果 - javascript
- 从函数返回结果 - JavaScript
- 在一行中返回来自三元的结果(JavaScript)
- 骰子效果-如何在最后显示假结果和真结果(JavaScript)
- WebGL纹理加载结果(Javascript)类型错误
- 限制搜索结果Javascript
- IF语句多个答案-相同的结果Javascript
- 双异步循环,如何保证正确排序顺序的最终结果?(javascript)
- 添加图像到测验结果javascript
- 奇怪的结果javascript比较
- 如何改变iFrame结果JavaScript警告框