如果没有匹配,则忽略jquery调用

时间:2015-03-13 14:04:52

标签: javascript jquery firefox

嗨,我有一个有线的问题,我真的不知道如何向你们解释。但我会尽我所能。这是一个jquery脚本,我在我的网站上用来调用不同的jquery函数或插件,如typed.js,flexislider等等。

(function ($) {
//Typed JS
    $(".element").typed({
        strings: ["Saumya Majumder.", "a geek.", "an Engineer.", "a Code Lover.", "a Google fan.", "an Apple fan.", "an Android fan.", "a WordPress fan.", "an Inventor.", "a Coffee lover.", "a Tea lover."],
        typeSpeed: 100,
        backDelay: 3000,
        loop: true
    });
    // Flixislider
    $('.flexslider').flexslider();
    /* TOOLTIPS */
    $('.tooltip').each(function(index, element) {
        $(this).tooltipster({
            position: $(this).attr('data-tooltip-pos'),
            fixedWidth : 300,
            offsetX : 8,
            animation : "grow",
            delay : 50
        });

    });

    $('.bar').each(function() {
        var bar = $(this);
        bar.find('.progress').css('width', bar.attr('data-percent') + '%' );
    });

})(jQuery);

现在我必须告诉我这与Chrome和Opera一起工作正常,但在firefox上创建问题。

以下是问题:

在firefox中,当用户访问我的页面时,我有输入的元素,但没有 flixislider触发并再次触发一个bar元素。发生的事情是firefox 1st触发了typed元素,因为在同一页面上有一个调用,然后它看到该页面没有任何flexslider调用,所以它thwos和错误,甚至不读取以下调用,无论是否是否还有可能在该页面上使用过的东西。

但是在chrome和opera中,它只是忽略了该页面中不存在的调用。时髦而且完全是我需要的东西。

现在假设在我没有键入元素的页面中,它在第一次调用时出现错误,甚至不检查其余部分。所以我的插件调用都没有用。

我正在寻找

由于这是一个firefox特定的问题,任何人都可以告诉我如何更新我的脚本代码,以便firefox只是忽略那些不适合该页面的调用并执行该页面上的调用,如chrome,firefox

1 个答案:

答案 0 :(得分:0)

在调用函数之前,您可以检查是否有.flexslider

if ($(".flexslider")[0]){
    $('.flexslider').flexslider();
}