首页 > 解决方案 > simpleLightbox 不是一个函数 - jquery

问题描述

我正在尝试在我的项目中使用simpleLightbox,我通过以下方式安装它:

npm 安装 simplelightbox

我的html结构是这样的:

<div class="gallery-wrapper">
        <img class="image" src="../../../../assets/images/sample/book.png" alt="">
        <img class="image" src="../../../../assets/images/sample/book.png" alt="">
        <img class="image" src="../../../../assets/images/sample/book.png" alt="">
        <img class="image" src="../../../../assets/images/sample/book.png" alt="">
</div>

当我尝试在我的main.js文件中初始化灯箱时,我收到一个错误,它不是一个函数。我试着像文档说的那样做:

var lightbox = $('.gallery a').simpleLightbox(options);

有人有建议吗?

标签: javascriptjquery

解决方案


这个例子对我来说很好。我的设置使用带有一个图像的非常基本的结构book.jpg,但它可以工作,并且画廊按预期运行。如果您有任何问题,请告诉我。

依赖项

npm install --save simplelightbox

HTML

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>Test</title>
  <script src="./scripts/jquery.js"></script>
  <script src="./scripts/simple-lightbox.js"></script>
  <link href="./scripts/simplelightbox.css" rel="stylesheet" />
</head>

<body>
  <div class="gallery">
    <a href="./assets/book.jpg">Book 1</a>
    <a href="./assets/book.jpg">Book 2</a>
    <a href="./assets/book.jpg">Book 3</a>
    <a href="./assets/book.jpg">Book 4</a>
  </div>

  <script>
    $(function() {
      $('.gallery a').simpleLightbox();
    });
  </script>
</body>

</html>

节点/快递

const express = require('express');

const app = express();
const port = 5544;

app.use('/scripts', express.static(__dirname + '/node_modules/jquery/dist'));
app.use('/scripts', express.static(__dirname + '/node_modules/simplelightbox/dist'));
app.use('/assets', express.static(__dirname + '/assets'));

app.get('/', (req, res) => res.sendFile(__dirname + '/index.html'));
app.listen(port, () => console.log(`Listening on port ${port}`));

资产文件夹

assets/
  - book.jpg

推荐阅读