Javascript冲突ajax邮件和scriptaculous
我添加了一个在指南中找到的javascript元素。详情如下:Javascript冲突ajax邮件和scriptaculous,javascript,Javascript,我添加了一个在指南中找到的javascript元素。详情如下: $(document).ready(function () { $('.dropdownbutton').click(function () { $.post("send.php", $(".mycontactform").serialize(), function (data) { }); $('#su
$(document).ready(function ()
{
$('.dropdownbutton').click(function ()
{
$.post("send.php", $(".mycontactform").serialize(), function (data)
{
});
$('#success').html('Message sent!');
$('#success').hide(2000);
});
});
现有的javascript是
function toggleDisplayWait(divId, imgId, durationmSec) {
if(!$(divId).visible()) {
move = Effect.BlindDown;
newImage = "./img/minus.png";
}
else {
move = Effect.BlindUp;
newImage = "./img/plus.png";
}
move(divId, {duration: durationmSec / 1000.0 });
setTimeout(function() { $(imgId).src = newImage; }, durationmSec)
}
function BDEffect(divId, imgId)
{
/* new Effect.BlindDown(element, {duration:3});
}*/
if(!$(divId).visible())
{
move = Effect.BlindDown;
newImage = "./img/feedbacktab_open.png";
setTimeout(function() { $(imgId).src = newImage; }, 0)
}
else
{
move = Effect.BlindUp;
newImage = "./img/feedbacktab.png";
setTimeout(function() { $(imgId).src = newImage; }, 2)
}
move(divId, {duration:2});
/*setTimeout(function() { $(imgId).src = newImage; }, 0)*/
}
</script>
函数切换显示等待(divId、imgId、durationmSec){
如果(!$(divId).visible()){
move=Effect.BlindDown;
newImage=“./img/减号.png”;
}
否则{
移动=效果。盲起;
newImage=“./img/plus.png”;
}
移动(divId,{duration:durationmSec/1000.0});
setTimeout(函数(){$(imgId).src=newImage;},durationmSec)
}
函数BDEffect(divId,imgId)
{
/*新效果。盲降(元素,{持续时间:3});
}*/
如果(!$(divId).visible())
{
move=Effect.BlindDown;
newImage=“./img/feedbacktab_open.png”;
setTimeout(函数(){$(imgId).src=newImage;},0)
}
其他的
{
移动=效果。盲起;
newImage=“./img/feedbacktab.png”;
setTimeout(函数(){$(imgId).src=newImage;},2)
}
移动(divId,{duration:2});
/*setTimeout(函数(){$(imgId).src=newImage;},0)*/
}
但旧代码和新代码现在都不起作用
错误控制台现在报告“$(divId).visible不是函数”当我尝试使用旧脚本时,旧代码看起来像是在使用原型框架,而新代码使用的是jQuery 当同时使用这两个变量时,需要使用jQuery的
noConflict()
,这样它们就不会同时尝试使用$
变量
首先,在包含jQuery库之后,添加如下脚本:
<script>
jQuery.noConflict()
</script>
jQuery(function ($) {
$('.dropdownbutton').click(function() {
$.post("send.php", $(".mycontactform").serialize(), function(data) {});
$('#success').html('Message sent!');
$('#success').hide(2000);
});
使用noConflict
,无论您想在哪里使用jQuery,都必须使用jQuery
变量,而不是$
。但是,您仍然可以将$
作为局部变量传入,并且它不会与Prototype冲突
另外,请注意,我将您的
document.ready(function(){…})
函数更改为:jQuery(function(){…})
。函数还将传递jQuery
对象,为了方便起见,我将其命名为$
。工作得很好!“发送”按钮似乎没有任何作用,我想这是我的下一个问题!