【问题标题】:jQuery script has conflict with other script on web pagejQuery 脚本与网页上的其他脚本有冲突
【发布时间】:2021-02-27 17:19:39
【问题描述】:

我的自定义代码与我的 WordPress 网站中的其他一些 JavaScript 文件冲突。

发生冲突的代码在这里。当我删除 jQuery 的谷歌 API 时,除了这段代码之外一切正常,然后它停止工作。我试图修改没有冲突的代码,但没有帮助。也许我做错了。

Website

当脚本存在时,它会使地址传递检查器停止工作。

<script>$.noConflict();</script><script 
src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pondelok" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="utorok" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="streda" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="stvrtok" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="piatok" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="sobota" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 21:00.</h4>
</div>
<div id="nedela" class="msg">
<h4>Objednávky dnes prijímame od 11:00 do 20:00.</h4>
</div>

<script>
var Now = new Date();
var CurrentDay = Now.getDay();
var CurrentHrs = Now.getHours();
if (CurrentDay == 1 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#pondelok').show();
}else if (CurrentDay == 2 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#utorok').show();
} else if (CurrentDay == 3 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#streda').show();
} else if (CurrentDay == 4 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#stvrtok').show();
} else if (CurrentDay == 5 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#piatok').show();
} else if (CurrentDay == 6 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#sobota').show();
} else if (CurrentDay == 0 && (CurrentHrs >= 00 && CurrentHrs <= 24)) {
$('.msg').hide()
$('#nedela').show();
} else{
$('.msg').hide()
$('#no_del').show();  
}

var weekday = new Date();
weekday[0]=  "Nedeľa";
weekday[1] = "Pondelok";
weekday[2] = "Utorok";
weekday[3] = "Streda";
weekday[4] = "Štvrtok";
weekday[5] = "Piatok";
weekday[6] = "Sobota";

var n = weekday[tomorrow.getDay()];
document.getElementById("nextDay").innerHTML = n;

var jq211= jQuery.noConflict();

</script>

感谢您的帮助。

【问题讨论】:

  • 看起来您至少要导入 jQuery 两次,这绝不是一个好主意。
  • 但是当我从这段代码中删除脚本 url 时它不起作用。
  • 描述“没用”。你的控制台有错误吗?请记住,当您使用 .noConflict() 时,它会清除 jQuery,这样您就不能再使用 $
  • @Marc 是的,有一些错误你可以在这里查看delivery.beaboutburger.sk ...我是 js 新手,所以我做的不是很好。
  • @Marc 在该网址上有一个地址字段,您可以在其中检查您的地址是否在送货区域。在介绍下有橙色线与 11 到 21 00 时间。如果我从那里删除 jquery,它会显示您在 HTML 代码中看到的所有行。如果 jquery 存在,则交付检查器不起作用。

标签: javascript html jquery wordpress conflict


【解决方案1】:

如果有人有同样的问题,我已经通过编辑下面步骤中提到的代码解决了这个问题。

  1. 由于 jquery 的双重调用,我删除了下面的代码。

    &lt;script&gt;$.noConflict();&lt;/script&gt;&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;

  2. 我已将所有$ 符号替换为jQuery

现在我有 0 个控制台错误,一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 2014-03-02
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多