You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django集成Bootstrap项目中jQuery无法正常工作求助

搞定Django+Bootstrap项目里jQuery Marquee失效的问题

Hey buddy, let's dig into why your marquee slider isn't working. Looking at your code, there are a couple of straightforward fixes to get this up and running:

1. 你漏了jQuery Marquee插件!

原生jQuery根本没有.marquee()这个方法——这个滚动效果是靠专门的jQuery Marquee插件实现的。你现在只引入了基础jQuery、Bootstrap和自己的script.js,但没加载这个核心插件,浏览器肯定会报错说找不到这个方法。

怎么修:
在你的script.js之前,加上这个插件的引入脚本:

{% load static %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<!-- 新增:加载jQuery Marquee插件 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.marquee/1.5.0/jquery.marquee.min.js"></script>
<script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
<script type="text/javascript" src="{% static 'js/script.js' %}"></script>

2. 换掉过时的window.load事件

jQuery(window).load()早就被废弃啦,现在大家都用$(document).ready()(或者更简洁的$(function(){...}))。前者要等所有图片、样式表都加载完才执行,而我们只需要DOM结构就绪就能初始化插件,用后者更高效也更可靠。

修改你的script.js:

$(function() { // 等价于$(document).ready()
  $(".marquee").marquee({
    duration: 10 * $(".marquee").width(),
    duplicated: true,
    pauseOnHover: true
  });
});

3. 检查Django静态文件路径是否正确

确认你的script.js确实放在项目的static/js/文件夹里,而且settings.py里的STATIC_URL和STATICFILES_DIRS配置是对的,这样{% static 'js/script.js' %}才能正确找到文件。

你可以按F12打开浏览器开发者工具,切换到Network标签,看看这些脚本有没有加载成功——如果出现404错误,就是路径配置出问题了。

4. 看看控制台的报错信息

打开开发者工具的Console标签,里面会显示具体的错误(比如"$ is not defined"或者"marquee is not a function"),这些提示能帮你快速定位到底哪里出问题。


内容的提问来源于stack exchange,提问作者Ömer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:23:14