运行switch语句时出现问题。如您所见each spot is a different case in a switch statement.
单击菜单按钮以获取有关第一个点(案例1)a modal/popup window is displayed的一些信息。但是对于情况2,将显示两个模态,it 's like it also triggers case 1。
这是一段代码:
function setInfo(hotspot){
switch (hotspot){
case 1:
$("#erg").click(function() {
$.dialog({
title: 'Info',
content: 'Εικονοστάσι στη βάση του βράχου.',
theme: 'dark',
offsetTop:'1000',
boxWidth:'20%',
useBootstrap: false,
});
})
break;
case 2:
$("#erg").click(function() {
$.dialog({
title: 'General Info',
content: 'Content',
columnClass: 'medium',
type:'blue',
useBootstrap: false,
});
})
break;
case 3:
$("#erg").click(function() {
$.dialog({
title: 'Info',
content: 'Σπηλαιώδες ασκητήριο του Αγίου Γρηγορίου.',
theme: 'dark',
offsetTop:'1000',
boxWidth:'20%',
useBootstrap: false,
});
})
break;
default:
$('#screenshot0').css("display", "inline");
break;
}
我将jQuery插件用于对话框模式。抱歉,其内容具有希腊特色,非常感谢。
答案 0 :(得分:0)
每次运行代码时,您都会添加越来越多的点击处理程序,而不会关闭旧的点击处理程序。
在添加新的点击处理程序之前,您可以使用.off
关闭上一个点击处理程序
$("#erg").off("click");
更新的代码:
function setInfo(hotspot) {
$("#erg").off("click");
switch (hotspot) {
case 1:
$("#erg").click(function() {
$.dialog({
title: 'Info',
content: 'Εικονοστάσι στη βάση του βράχου.',
theme: 'dark',
offsetTop: '1000',
boxWidth: '20%',
useBootstrap: false,
});
})
break;
case 2:
$("#erg").click(function() {
$.dialog({
title: 'General Info',
content: 'Content',
columnClass: 'medium',
type: 'blue',
useBootstrap: false,
});
})
break;
case 3:
$("#erg").click(function() {
$.dialog({
title: 'Info',
content: 'Σπηλαιώδες ασκητήριο του Αγίου Γρηγορίου.',
theme: 'dark',
offsetTop: '1000',
boxWidth: '20%',
useBootstrap: false,
});
})
break;
default:
$('#screenshot0').css("display", "inline");
break;
}