好的,我使用mootools通过谷歌地图显示Flash内容,我努力使其正常工作,因此几乎没有机会将其切换到jQuery。另一方面,我认为jQuery对其他所有东西都更有用,所以我试图让它一起工作。这是为了解释。现在这是代码。
我使用这个jQuery脚本来显示/隐藏动画,它可以完美地与mootools一起使用
<script type="text/javascript">
jQuery(document).ready(function() {
// hides the slickbox as soon as the DOM is ready
jQuery('#slickbox').hide();
// toggles the slickbox on clicking the noted link
jQuery('#slick-toggle').click(function() {
jQuery('#slickbox').toggle(400);
return false;
});
});
最近,我添加了scrit来动画流动的菜单,我无法让它工作。我试图应用noConflict,但它没有用。这是代码:
<script language="text/javascript">
var $j = jQuery.noConflict();
var name = "#floatMenu";
var menuYloc = null;
$j(document).ready(function(){
menuYloc = parseInt($j(name).css("top").substring(0,$j(name).css("top").indexOf("px")))
$j(window).scroll(function () {
offset = menuYloc+$(document).scrollTop()+"px";
$j(name).animate({top:offset},{duration:500,queue:false});
});
});
</script>
错误消息是Uncaught TypeError:对象#没有方法'dispose' 非常感谢你。
答案 0 :(得分:2)
以这种方式设置代码格式,并且无需使用在加载jQuery和MooTools库之后立即调用noConflict()
。jQuery.noConflict();
。
<script type="text/javascript">
(function($){
var name = "#floatMenu",
menuYloc = null;
$(document).ready(function(){
menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))
$(window).scroll(function () {
var offset = menuYloc+$(document).scrollTop()+"px";
$(name).animate({top:offset},{duration:500,queue:false});
});
});
})(jQuery);
</script>
这会将您的代码封装到一个函数中,该函数将传递给jQuery
对象。在该函数中使用$
的任何地方,它都会引用jQuery
。
此外,没有属性language
的值"text/javascript"
,它是type
属性,应具有该值。不要再使用language
属性。