Javascript jQuery与Joomla YooTheme WidgetKit冲突

Javascript jQuery与Joomla YooTheme WidgetKit冲突,javascript,jquery,joomla,Javascript,Jquery,Joomla,目前,我正在为本地客户开发Joomla网站 我有一个jQuery冲突,这让我头疼 我正在从YooTheme运行此模板: 顶部的幻灯片由jQuery控制。它由YooThemes“WidgetKit”运营 我有一个简单的联系表单,它是使用jQuery(电子邮件地址等)验证的 当我把联系人表格放到网站上时,顶部的幻灯片就消失了 这是jQuery代码: <script src="********/js/jquery.js" type="text/javascript"></scrip

目前,我正在为本地客户开发Joomla网站

我有一个jQuery冲突,这让我头疼

我正在从YooTheme运行此模板:

顶部的幻灯片由jQuery控制。它由YooThemes“WidgetKit”运营

我有一个简单的联系表单,它是使用jQuery(电子邮件地址等)验证的

当我把联系人表格放到网站上时,顶部的幻灯片就消失了

这是jQuery代码:

<script src="********/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery.noConflict();

function isInt(n) {
return typeof n === 'number' && n % 1 == 0;
}

// Form validation
jQuery(".darkBtn").click(function(e) {
e.preventDefault();
var email_check = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i;
var email = jQuery("form.form_contact .email").val();

var zipCheck = /[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}/i;
var zip = jQuery("form.form_contact .zipcode").val();

var phoneCheck = /^\d+$/;
var phone = jQuery("form.form_contact .phone").val();

var error = "";

if(!email_check.test(email))
{
error = "Please give a valid email address."

}

if(!zipCheck.test(zip))
{
error = "Please give a valid postcode.";
}

if(!phoneCheck.test(phone) || phone.length != 11)
{
error = "Please give a valid phone number.";
}


// No error ? -> Submit
if(error == "")
{
jQuery(".form_error").hide();
jQuery("form#contact_form").submit();
} else {
jQuery(".form_error").empty().text(error);
jQuery(".form_error").show();
}
});
});

</script>

jQuery(文档).ready(函数(){
jQuery.noConflict();
函数isInt(n){
返回类型n=='number'&&n%1==0;
}
//表单验证
jQuery(“.darkBtn”)。单击(函数(e){
e、 预防默认值();
var电子邮件检查=/^[A-Z0-9.[UZ0%+-]+@[A-Z0-9.-]+\[A-Z]{2,6}$/i;
var email=jQuery(“form.form_contact.email”).val();
var-zipCheck=/[A-Z]{1,2}[0-9R][0-9A-Z]?[0-9][ABD-HJLNP-UW-Z]{2}/i;
var zip=jQuery(“form.form_contact.zipcode”).val();
var phoneCheck=/^\d+$/;
var phone=jQuery(“form.form_contact.phone”).val();
var误差=”;
如果(!电子邮件检查测试(电子邮件))
{
error=“请提供有效的电子邮件地址。”
}
如果(!zipCheck.test(zip))
{
error=“请提供有效的邮政编码。”;
}
如果(!phoneCheck.test(phone)| phone.length!=11)
{
error=“请提供有效的电话号码。”;
}
//没有错误?->提交
如果(错误==“”)
{
jQuery(“.form_error”).hide();
jQuery(“表单#联系表单”).submit();
}否则{
jQuery(“.form_error”).empty().text(错误);
jQuery(“.form_error”).show();
}
});
});
我的一个朋友知道非常基本的jQuery,他帮我设计了这个。然而,他知道的还不足以解决这个问题。我不知道什么时候使用jQuery

我读了一些书,发现其中有这样一句话:试着在代码中将“$”改为“jQuery”,这就是为什么代码中有“jQuery”而不是“$”符号的原因

我怎样才能让这两个一起工作? 感谢您的帮助

以下评论中要求的新代码:

<script src="********/js/$.js" type="text/javascript"></script>
<script type="text/javascript">
$.noConflict();
$(document).ready(function($) {


function isInt(n) {
return typeof n === 'number' && n % 1 == 0;
}

// Form validation
$(".darkBtn").click(function(e) {
e.preventDefault();
var email_check = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i;
var email = $("form.form_contact .email").val();

var zipCheck = /[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}/i;
var zip = $("form.form_contact .zipcode").val();

var phoneCheck = /^\d+$/;
var phone = $("form.form_contact .phone").val();

var error = "";

if(!email_check.test(email))
{
error = "Please give a valid email address."

}

if(!zipCheck.test(zip))
{
error = "Please give a valid postcode.";
}

if(!phoneCheck.test(phone) || phone.length != 11)
{
error = "Please give a valid phone number.";
}


// No error ? -> Submit
if(error == "")
{
$(".form_error").hide();
$("form#contact_form").submit();
} else {
$(".form_error").empty().text(error);
$(".form_error").show();
}
});
});

</script>

$.noConflict();
$(文档).ready(函数($){
函数isInt(n){
返回类型n=='number'&&n%1==0;
}
//表单验证
$(“.darkBtn”)。单击(函数(e){
e、 预防默认值();
var电子邮件检查=/^[A-Z0-9.[UZ0%+-]+@[A-Z0-9.-]+\[A-Z]{2,6}$/i;
var email=$(“form.form_contact.email”).val();
var-zipCheck=/[A-Z]{1,2}[0-9R][0-9A-Z]?[0-9][ABD-HJLNP-UW-Z]{2}/i;
var zip=$(“form.form_contact.zipcode”).val();
var phoneCheck=/^\d+$/;
var phone=$(“form.form_contact.phone”).val();
var误差=”;
如果(!电子邮件检查测试(电子邮件))
{
error=“请提供有效的电子邮件地址。”
}
如果(!zipCheck.test(zip))
{
error=“请提供有效的邮政编码。”;
}
如果(!phoneCheck.test(phone)| phone.length!=11)
{
error=“请提供有效的电话号码。”;
}
//没有错误?->提交
如果(错误==“”)
{
$(“.form_error”).hide();
$(“表格#联系表格”)。提交();
}否则{
$(“.form_error”).empty().text(错误);
$(“.form_error”).show();
}
});
});

调用
jQuery.noConflict()。这是因为一些库还试图使用
$
符号并与jQuery冲突。这将在全球范围内将其交还给他们

通过
(function($){…})(jQuery)
,确保jQuery代码仅在函数的作用域内(因此不会影响其他库),您仍然可以在jQuery代码中使用
$


编辑:在同一页面上多次包含jQuery时,可能会出现相同的行为(就像OP的情况一样)。

调用
jQuery.noConflict()。这是因为一些库还试图使用
$
符号并与jQuery冲突。这将在全球范围内将其交还给他们

通过
(function($){…})(jQuery)
,确保jQuery代码仅在函数的作用域内(因此不会影响其他库),您仍然可以在jQuery代码中使用
$



编辑:在同一页面上多次包含jQuery时,可能会出现相同的行为(就像OP的情况一样)。

使用
jQuery.noConflict()尽可能快(不在
$(文档).ready
处理程序内)。从那里,您可以使用
jQuery(document).ready(函数($){})$
引用jQuery stillhello,是否需要在(函数(){})中添加该$;?这将允许您在手柄内使用
$
而不是
jQuery
。好的,我将试一试,谢谢,不幸的是,伙计-仍然是相同的问题使用
jQuery.noConflict()尽可能快(不在
$(文档).ready
处理程序内)。从那里,您可以使用
jQuery(document).ready(函数($){})$
引用jQuery stillhello,是否需要在(函数(){})中添加该$;?这将允许您在手柄内使用
$
而不是
jQuery
。好的,我会试一试,谢谢运气,不幸的是,伙计-仍然是同一个问题。我的伙计,这不是我在OP的第二批代码中所做的吗?我把它弄混了吗?@Dr.Pepper是的,我想在你修复include url后它会工作的。检查您的浏览器控制台,看看是否有任何错误。我没有收到任何错误消息。这只是一个事实,当这个联系人表单出现在页面上时,jQuery控制的顶部幻灯片不会显示出来。只需查看控制台即可。这是错误::未捕获类型错误:对象[Object Object]没有方法“slideshow”widgetkit-97409d95.js:15@Dr.Pepper你有我可以访问和检查的实时页面吗?嗨,伙计,这不是我在OP的第二批代码中做的吗?我把它弄混了吗?@Dr.Pepper是的,我想在你修复include url后它会工作的。检查浏览器的控制台,看看是否有任何错误。我没有收到任何错误消息
jQuery.noConflict();
jQuery(document).ready(function($) {
   ... Your jQuery code here
}