我有一个我正在更新的网页,此页面使用Prototype和Lightbox。我不想将当前页面更改为jQuery,因为我不确定还有什么使用Prototype,如果我不再包含Prototype,它会随后中断。
我的问题如下:
我有一些TD,我只想点击按钮就可以淡入淡出。当我暂时取出Prototype时,这非常有效。一旦我重新放入Prototype,fadeOut()
jQuery函数就会完全中断。我怀疑这是因为Prototype还有一个fadeIn()
& fadeOut()
功能。
有没有办法可以强制Prototype不将这些函数识别为函数,并且仍然让jQuery完美地执行它们?
这是我的jQuery代码:
var $j = jQuery.noConflict();
$j(document).ready(function () {
$j("a.archiveBtn.2009").click(function () {
$j("td.archive.2009").fadeIn();
$j("tr td.archiveBtn").css("paddingBottom", 20);
$j("tr td.archiveBtn").css("borderBottom", "#999 1px dashed");
$j("a.hideArchive.2009").show();
return false;
});
$j("a.hideArchive.2009").click(function () {
$j("td.archive.2009").fadeOut(function () {
$j("tr td.archiveBtn").css("paddingBottom", 0);
$j("tr td.archiveBtn").css("borderBottom", "none");
});
$j(this).hide();
return false;
});
$j("tr td.archiveBtn").parent().prev("tr").children("td").css("paddingBottom", 20);
});
任何帮助都将受到赞赏并提前感谢。
答案 0 :(得分:1)
你似乎已经尊重jQuery中的冲突推荐,也许可以尝试以下方法,它会在这里停用Prototype函数,但我真的不确定它会不会这样做,因为我没有在你的代码中发现问题但值得一试:
jQuery(document).ready(function($) {
$("a.archiveBtn.2009").click(function () {
.....
}
有了这个你可以直接使用$而不是$ j,你确定它只是jQuery函数。 顺便说一下你完全打破什么意思?动画很奇怪?它根本不会褪色?
希望这有帮助,
度过愉快的一天(听Carlos Jean ^^)
答案 1 :(得分:1)
如果jQuery的.animate
对您有效,那么您可以使用.animate({opacity: 0})
或.animate({opacity: "hide"})
执行与.fadeOut()
相同的操作
答案 2 :(得分:0)
最后,我确定Prototype.js只适用于Lightbox,所以我禁用了Prototype.js并整合了Lightbox jQuery插件。
我的代码现在完美无缺。