好的,首先要检查colorbox JS文件的路径是否正确,以及引用colorbox文件是否在jquery文件之后。他们俩都是!
真正的谜团来自于colorbox第一次工作但出现错误的事实。最有趣的是,它曾经工作但突然之间没有。
这是调用colorbox的函数:
int fp = open("filename", O_RDONLY);
if (fp == -1)
err(1, "open");
struct stat st;
int r = fstat(fp, &st);
if (r == -1)
err(1, "stat");
// Compiler warning on 64-bit, but is correct
if (st.st_size > (size_t)-1)
errx(1, "file too large");
size_t sz = st.st_size;
void *data = mmap(NULL, sz, PROT_READ, MAP_SHARED, fp, 0);
if (data == MAP_FAILED)
err(1, "mmap");
unsigned counter = 0;
for (char *ptr = data, end = ptr + sz; ptr != end; ptr++)
counter += *ptr;
printf("%u\n", counter);
此功能用于在Gmap上添加标记。两天前,我可以点击我想要的标记数量,每次出现一个新的颜色框,但现在我只能在function loadJsonMap(map, data){
var markers_data = [];
$.each(data, function(key, val){
if (val.latitude != undefined && val.longitude != undefined) {
markers_data.push({
lat : val.latitude,
lng : val.longitude,
details : {
holder_id : val.holder_id
},
click : function(e){
if(e.details.holder_id !== undefined){
var url = baseurl + 'index.php/products/colorbox/' + e.details.holder_id;
$.colorbox({
open : true,
href : url,
iframe : false,
innerWidth : 400,
innerHeight : 400,
close : 'Aizvert'
});
}
}
});
}
});
map.addMarkers(markers_data);
}
行收到错误之前执行此操作。我99%肯定我没有改变与此相关的任何事情。真的不知道怎么理解这个错误。
更新 该错误似乎是由colorbox引起的,但会影响jQuery。打开第一个colorbox后,每个jQuery调用都不是函数。现在我收到错误:
$.colorbox({
未捕获的TypeError:$(...)。slideFadeToggle不是函数(...)
但在点击标记并打开彩盒之前,我可以多次拨打$(function() {
$('#contact-link').on('click', function() {
if($(this).hasClass('selected')) {
deselect($(this), 'contactpop');
} else {
$(this).addClass('selected');
$('.contactpop').slideFadeToggle();
}
return false;
});
});
$.fn.slideFadeToggle = function(easing, callback) {
return this.animate({ opacity: 'toggle', height: 'toggle' }, 'fast', easing, callback);
};
...