当我加载prototype.js时,我的javascript失败了,如何修复它?

时间:2012-02-02 21:15:21

标签: javascript jquery prototypejs lightbox

我正在尝试为朋友的Summer Cart系统制作新设计。系统通常有出现/消失的子类别菜单,但后来我下载了一个名为“lightbox”的javascript插件,它在当前窗口中显示图像,同时保留页面,而不是打开一个新窗口显示图像。现在的问题是,这个“lightbox”插件有一个名为“prototype.js”的文件,导致子类别不起作用......

Prototype.js:http://www.mediafire.com/?sj3xzdw2gchmca0

使子菜单显示/消失的代码:

$(function () {
var stepOver = 20; // The number of pixels of the upper box that are going to cover its parent.
    $("#DropdownCategories ul li").hover(
    function () {
        var firstUls = $(this).find('ul:first');
        firstUls.show();    
                var positionLeft = $(this).position().left - stepOver + $(this).outerWidth();
        var offsetLeft = $(this).offset().left - stepOver + $(this).outerWidth();   
    // Find the position that the box is going to end in.
        var wouldEnd = offsetLeft + firstUls.outerWidth();
                    // If the box ends out of the body we move the box on the left side.
        if (wouldEnd > $('body').innerWidth()) {
            positionLeft = $(this).position().left - firstUls.outerWidth() + stepOver;
        }
                    firstUls.css('position', 'absolute')
            .css('top', $(this).position().top + 'px')
            .css('left', positionLeft + 'px');
    },
    function () {
        $(this).find('ul:first').hide();
    }
);
});

实际网站:http://www.sladurko.com/product/277/bluza-kas-rakav.html

2 个答案:

答案 0 :(得分:1)

您正在使用jQuery,因此您需要使用noConflict

答案 1 :(得分:1)

由于您已经使用了jQuery,因此请选择jQuery compatible lightbox plugin。添加像Prototype这样的完整单独的库对于一个简单的任务来说是过度的,所以要避免它。如果您已经在使用Prototype,那么我建议避免因为同样的原因添加jQuery。