我目前正在使用prettyPhoto 制作交互式照片 map ,以在单击 map 上的某个点时显示图片。一些点将显示 1 张照片,而其他点将显示多张。如果我只使用一张照片,我一切正常,但是现在我正在调整以在拥有它的照片上调用多张照片,但是我遇到了进行 PrettyPhoto api 调用的问题。继承人我目前的代码:
$(document).ready(function(){
var baseUrl = "http://ninjastatus.com/last_stop/Bronx/"
var checkMultiple = function (stop) {
if (stop.imgName && stop.imgName.match('|')) {
var images = stop.imgName.split('|');
for (var i = images.length - 1; i >= 0; i--) {
images[i] = baseUrl + images[i].replace('\t\n', '').trim();
};
return images;
}
if (stop.imgName && stop.imgName.replace('\t\n', '').trim() !== undefined) {
var images = baseUrl + stop.imgName.replace('\t\n', '').trim();
return images;
}
}
for(var i=0; i<stations.length; i++){
var loc = stations[i].loc;
var name = stations[i].name;
var imgs = checkMultiple(stations[i]);
var desc = "test description";
$('#subway').append('<a href="#" alt="' + name + '" title="' + name +
'" onclick="$(this).prettyPhoto(imgs,name,desc); return false;">
<area shape="circle" coords="' + loc + '" nohref="nohref" /></a>');
}
$('img[usemap]').rwdImageMaps();
})
我收到包含 onclick 的行的无效字符错误。我知道来自stations 变量的所有数据都是正确的,问题在于调用prettyPhoto 本身。有没有办法用普通的 jquery 点击函数来做到这一点,同时为每个链接保留正确的变量?或者使用 html 数据属性会更好,并编写一个 jquery click 函数来拉取它们并调用prettyPhoto?
您可以在此处找到 PrettyPhoto api 文档:
http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/documentation
您还可以在此处找到该页面:
http://adminref.com/NYCPhotoMap/index.html
最佳答案
JS 字符串必须在同一行开始和结束。
这有效:
'<a href="#" alt="' + name + '" title="' + name +
'" onclick="$(this).prettyPhoto(imgs,name,desc); return false;">'
但这不是:
'" onclick="$(this).prettyPhoto(imgs,name,desc); return false;">
<area shape="circle" coords="' + loc + '" nohref="nohref" /></a>'
这就是
SyntaxError
。它对您的整体问题没有帮助:
关于javascript - 对prettyPhoto灯箱进行动态api调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20662146/