单击时实现框不打开图片

materialize box doesn't open picture when clicked

我正在使用 angular 8 和 materialize 创建一个页面,我需要在其中显示一些图片,如果用户单击其中一个,我希望它以全屏模式打开,materialize 有a class 哪里可以,但是我用的时候,图片打不开 我希望它能在 link 中打开 https://materializecss.com/media.html 但它对我的点击没有任何反应 我试着这样做:

<img src="assets/img/test.png" class="materialboxed">
that's my html page
<div class="container ">
    <h1>Materialize Image Gallery</h1>
    <div class="row card">
        <div class="col s12 m6 l4">
            <img src="assets/img/test.png" class="materialboxed">
        </div>
        <div class="col s12 m6 l4">
            <img src="assets/img/test1.png" class="materialboxed">
        </div>
        <div class="col s12 m6 l4">
            <img src="assets/img/test2.png" class="materialboxed">
        </div>
    </div>
</div>

这是我的索引页

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Test page</title>
    <base href="/">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <link type="text/css" rel="stylesheet"
        href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
        media="screen,projection">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>

<body>
    <app-root></app-root>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"
        type="text/javascript"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</body>

</html>

与您的代码片段一样,您没有按照文档中的描述初始化 MaterialBox 小部件。

在你的索引文件中,添加一个脚本 JQuery:

  $(document).ready(function(){
$('.materialboxed').materialbox();
});

或者你可以添加香草 Javascript:

  document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.materialboxed');
var instances = M.Materialbox.init(elems, options);
});

使用JQuery的最终索引页面文件应该是这样的:

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Test page</title>
    <base href="/">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
    <link type="text/css" rel="stylesheet"
        href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"
        media="screen,projection">
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>

<body>
    <app-root></app-root>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"
        type="text/javascript"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
  //Added Code
  $(document).ready(function(){
    $('.materialboxed').materialbox();
 //End Added Code
 </script>
</body>

</html>

我希望这个回答能对某人有所帮助。