Jquery下拉不触发服务器,工作在桌面

Jquery drop down not firing on server, works on desktop

本文关键字:工作 桌面 服务器 Jquery      更新时间:2023-09-26

有人递给我一个脚本,让我为一个客户端更新一个网页(另一个团队成员编写了Jquery),他递给我他所有的测试文件。在本地运行时,jquery下拉菜单(非常简单)工作得很好。

我将代码移植到ExpressionEngine,但是它什么也没做。我知道Jquery本身运行良好,因为滑块和其他由它驱动的元素工作正常。下拉菜单没有任何作用。

好奇的是,我将位于function.js中的Jquery函数插入命令行,它工作了。

所以,如果我在这里错了,请纠正我,似乎它没有在加载时运行函数?有什么想法吗?

$(window).load(function() {
    $('.slider').flexslider({
        animation: "slide",
        slideshowSpeed: 6000,
        animationSpeed: 800,
        pauseOnAction: false
    });
    $('.testimonials .flexslider').flexslider({
        animation: "slide",
        slideshowSpeed: 600000,
        animationSpeed: 800,
        pauseOnAction: false,
        directionNav: false
    });
    $('.nav li').hover(function() {
        $('.sub-menu', this).stop(true, true).slideDown();
    }, function() {
        $('.sub-menu', this).slideUp();
    });
});

^ Barebones simple。唯一改变的代码是html(用于菜单)、CSS(用于样式化子元素)和这个function.JS文件。

这是"旧"版本:

$(window).load(function() {
$('.slider').flexslider({
    animation: "slide",
    slideshowSpeed: 6000,
    animationSpeed: 800,
    pauseOnAction: false
});
$('.testimonials .flexslider').flexslider({
    animation: "slide",
    slideshowSpeed: 600000,
    animationSpeed: 800,
    pauseOnAction: false,
    directionNav: false
});

});

这样一个小问题,但它阻碍了我。任何想法吗?

这可能不会有什么不同,但尝试将$(window).load(function() {更改为$(document).ready(funciton() {$(function() {

进一步阅读:窗口。Onload vs $(document).ready()

窗口。onload是内置的Javascript事件,但由于它的实现在不同浏览器(FF/IE6/IE8/Opera)中有微妙的特点

另外,确保在if ($(selector).length)检查中包围jQuery选择器,如果它们不存在于页面上,则会导致错误,脚本将停止处理:

$(function() {
    if ($('.slider').length) {
        $('.slider').flexslider({
            animation: "slide",
            slideshowSpeed: 6000,
            animationSpeed: 800,
            pauseOnAction: false
        });
    };
    if ($('.testimonials .flexslider').length) {
        $('.testimonials .flexslider').flexslider({
            animation: "slide",
            slideshowSpeed: 600000,
            animationSpeed: 800,
            pauseOnAction: false,
            directionNav: false
        });
    };
    if ($('.nav li').length) {
        $('.nav li').hover(function() {
            $('.sub-menu', this).stop(true, true).slideDown();
        }, function() {
            $('.sub-menu', this).slideUp();
        });
    });
});
http://jsfiddle.net/p5JpP/1/