javascript - 物化导航栏下拉菜单不起作用
问题描述
由于某种原因,我的导航栏中的下拉菜单不起作用。下拉按钮在那里,但它没有下降,所以下拉的触发部分可能有问题。我已经尝试了一切,但我无法修复它,感谢任何帮助。这是物化文档的链接:https ://materializecss.com/navbar.html
{% load static %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Casual Clothing comparer</title>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<link rel="stylesheet" type="text/css" href="{% static 'css/style.css' %}">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
</head>
<body>
<!-- Dropdown Structure -->
<ul id="dropdown1" class="dropdown-content">
<li><a href="#!">one</a></li>
<li><a href="#!">two</a></li>
<li class="divider"></li>
<li><a href="#!">three</a></li>
</ul>
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo">Logo</a>
<ul class="right hide-on-med-and-down">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
<!-- Dropdown Trigger -->
<li><a class="dropdown-trigger" href="#!" data-target="dropdown1">Dropdown<i class="material-icons right">arrow_drop_down</i></a></li>
</ul>
</div>
</nav>
<div class="row">
{% for post in final_products %}
<div class="col s12 m6 l4">
<div class="card horizontal hoverable z-depth-1-half">
<div class="card-image" id="card_image" style="height:300px">
<img src="{{ post.6 }}">
</div>
<div class="card-stacked">
<div class="card-content">
<span class="card-title">{{ post.0 }}</span>
<p>Initial Price €{{ post.3 }}</p>
<p>Discount {{ post.7 }}%</p>
<p style="margin-top: 10px; font-size: x-large">Price €{{ post.2 }}</p>
</div>
<div class="card-action">
<a href="{{ post.5 }}" style="color: green; font: bold">Buy</a>
</div>
</div>
</div>
</div>
{% endfor %}
</div>
<footer id="sticky-footer" class="py-4 bg-dark text-white-50">
<div class="container text-center">
<small>Copyright © Your Website</small>
</div>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<script>
$(document).ready(function(){
//Initialize dropdown
$(".dropdown-trigger").dropdown();
});
</script>
</body>
</html>
解决方案
这$(document)
是一个 jQuery 选择器,您没有包含 jQuery 的路径。我在您的代码中添加了以下行,并且下拉菜单工作正常:<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
. 您可以在此处阅读有关此内容的更多信息。
该代码行应包含在以下内容之前:
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
您的代码不起作用的原因是 Materialize CSS 使用 jQuery 方法。
推荐阅读
- java - 使用 jlink 可重现的构建
- git - 如何将分支的最后一次提交移动到其特色分支的第一次提交并更改特色分支的基础
- javascript - React Native:安全文件时仅渲染屏幕?平面列表不显示项目
- python - 使用 Route Python Django 调用简单函数
- react-native - React Native / react-native-reanimated-bottom-sheet / 如何更改工作表后面视图的背景颜色?
- vue.js - 在vue js v-for中循环遍历数组中的对象
- python - 如何在 Selenium Python 中打开一个新的 Chrome 会话?
- django - django prefetch_related 用于实例列表
- vb.net - 推出 .dll 上的 VB.NET 项目应自动注册
- flutter - 颤动中的动画滚动视图