嗨,我有一个有线的问题,我真的不知道如何向你们解释。但我会尽我所能。这是一个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
答案 0 :(得分:0)
在调用函数之前,您可以检查是否有.flexslider
:
if ($(".flexslider")[0]){
$('.flexslider').flexslider();
}