我使用here中的bootstrap灯箱收到以下错误:
Uncaught TypeError: data[option] is not a function bootstrap.js:1215
我已经复制了所有文件目录,并且没有更改任何参数。
这是我的代码:
JS链接:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="/js/bootstrap.js"></script>
<script src="/js/bootstrap-lightbox.js"></script>
<link rel="stylesheet" href="/css/bootstrap.css">
<link rel="stylesheet" href="/css/bootstrap-theme.css">
<link rel="stylesheet" href="/css/bootstrap-social.css">
<link rel="stylesheet" href="/css/bootstrap-lightbox.css">
<link rel="stylesheet" href="/css/font-awesome.css">
<link rel="stylesheet" href="/css/bootstrap-override.css">
<link rel="stylesheet" href="http://fonts.example.com/custom-font.css">
画廊:
<div class="container">
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Portfolio</h1>
</div><?php
$images = glob($_SERVER['DOCUMENT_ROOT'].'/img/gallery/*.{jpg,png,gif}', GLOB_BRACE);
$imageCount = count($images);
if($imageCount == 0) {
echo "There are currently no images in this gallery.";
}
else if($imageCount !== 0) {
$counter = 1;
foreach($images as $image) {
echo "<div class='col-lg-3 col-md-4 col-xs-6 thumb'> \n\r";
echo "<a data-toggle='lightbox' data-title='A random title' data-footer='A custom footer text' href='http://img.example.com/gallery/".basename($image)."' class='thumbnail'><img src='http://img.example.com/gallery/thumb.php?src=" . basename($image) . "&w=400&h=300&a=c' alt='Jolly Roger PCS Gallery Image' title='One Call Does It All' class='img-responsive'></a> \n\r";
echo "</div> \n\r \n\r \r\n";
}
}
?>
</div>
</div>
图片库的脚本输出:
<div class='col-lg-3 col-md-4 col-xs-6 thumb'>
<a data-toggle='lightbox' data-title='A random title' data-footer='A custom footer text' href='http://img.example.com/gallery/10177464_1495074060751956_373648277891171115_n.jpg' class='thumbnail'><img src='http://img.example.com/gallery/thumb.php?src=10177464_1495074060751956_373648277891171115_n.jpg&w=400&h=300&a=c' alt='Jolly Roger PCS Gallery Image' title='One Call Does It All' class='img-responsive'></a>
</div>
最后是页面末尾的JS:
<script type="text/javascript">
$(document).on('click', '[data-toggle="lightbox"]', function(event) {
event.preventDefault();
$(this).ekkoLightbox();
});
</script>
脚本正在发挥作用。单击缩略图图像时,灯箱会闪烁并显示加载图像,但图标的完整尺寸图像永远不会出现。
数据类型似乎都在正确的位置,因此我不知道导致此错误的原因。我尝试了搜索,但没有得出任何结果。
答案 0 :(得分:4)
错误背后的原因是bootstrap和bootstrap lightbox插件版本之间不兼容。
检查工作演示here:
$(document).on('click', '[data-toggle="lightbox"]', function(event) {
event.preventDefault();
$(this).ekkoLightbox();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="https://unsplash.it/1200/768.jpg?image=251" data-toggle="lightbox">
<img src="https://unsplash.it/600.jpg?image=251" class="img-fluid">
</a>
&#13;
如果您使用的是bootstrap 3.x.x版,那么请包含以下资产:
如果您使用的是bootstrap 4.x.x版,那么请包含以下资产:
答案 1 :(得分:1)
更改您的订单。
<script src="/js/bootstrap-lightbox.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="/js/bootstrap.js"></script>