0

我有如下所示的下拉菜单:

但是,我想要一个 div 元素将页面顶部粘贴在某个滚动范围内,所以我在头部添加了以下代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
// <![CDATA[
$(window).scroll(function(e){
    $el = $('.fixedElement');
    if ($(this).scrollTop() > 1437 && $el.css('position') != 'fixed'){
        $('.fixedElement').css({'position': 'fixed', 'top': '0px'});
    }
    if ($(this).scrollTop() < 1437 && $el.css('position') != 'absolute'){
        $('.fixedElement').css({'position': 'absolute', 'top': '1437px'});
    }
});
// ]]>
</script>

.fixedElement在我的CSS文件中定义,然后引用

<div class="fixedElement">

现在,我的下拉菜单如下所示:

当我注释掉 newjavascript时,菜单恢复正常。

关于如何javascript使用下拉菜单制作新作品的任何想法?

谢谢!

编辑:

与下拉菜单有关的一个控制台错误javascript是:

Uncaught TypeError: Object #<Object> has no method 'getElements'

那就是引用这一行:

var links = $(this.options.id).getElements('a');

在这个 javascript 中:MenuMatic

当我注释掉新javascript的错误消失并且我的菜单回来了!

4

1 回答 1

0

知道了。

我的下拉菜单javascript使用的是 MooTools 库,而我的粘性 div 使用的是 jQuery。

jQuery 使用“$”作为“jQuery”的快捷方式,因此该行

var links = $(this.options.id).getElements('a');

从 MooTools 库引用javascript会引发错误,因为 jQuery 已经覆盖了 "$" 的定义

这个冲突是通过插入来解决的

jQuery.noConflict();

在我的 jQuery 脚本之前并将我的 jQuery 脚本中的所有“$”替换为“jQuery”

更多信息在这里:http ://docs.jquery.com/Using_jQuery_with_Other_Libraries

也可以看看:

jQuery等库,以及'$'的用法

jQuery中符号$的含义是什么?

于 2012-07-30T17:55:48.453 回答