我使用jquery-plugin mapster设置了我的imagemap
代码告诉我,点击了哪些国家/地区(埃及为'1',利比亚为'2')。
$(document).ready(function() {
function geklickt (e){
//alert(typeof e.key); return string
$('.showme').append(e.key+ ' ');
}
$('img').mapster({
mapKey: 'ALT',
stroke: true,
strokeWidth: 2,
strokeColor: 'ff0000' ,
onConfigured: function(){
// howto set up loop for asking user here???
} ,
onClick: geklickt
});
});
我的问题: 我想在一个循环中询问用户这样的不同国家: “点击埃及”
if (e.key == '1')
{
// message "Ok"
// add one point
}
else
{
// message "NOT Ok"
}
“点击突尼斯”......
我不知道如何对此循环进行编码,因此系统会要求用户输入第一个国家/地区,然后程序会等到用户点击某个国家/地区为止 然后用户被问到第二个国家....
感谢
库尔特
答案 0 :(得分:0)
您不需要循环。 JavaScript适用于事件驱动的操作,而不是“等待用户输入。”
使用预定义的密钥保留国家/地区名称的数组(或对象),并使用这样的结构来提示用户:
<div>Click on <span id="countryname"></span></div>
然后使用javascript动态更改基于当前密钥显示的名称。
示例JS(不完整,但有必要的信息):
var countryArray, currentKey;
countryArray = [];
/*
* populate countryArray using keys like this
* countryArray[key] = "Name";
*/
function setCountry(key){
$("#countryname").text(countryArray[key]);
}
currentKey = 0; //can be set randomly or however you'd like
setCountry(currentKey);
function geklickt (e){
if(currentKey == e.key){
//success
//add one point
currentKey = newKey; //however you want to set it
setCountry(currentKey);
} else {
//failure
//message: "NOT OK"
}
}