0
我有以下的腳本,但是當我移動到一個頁面,沒有#slider打破了低於它的代碼,我試圖做的是檢查,如果#slider在網頁上,否則只是返回,但它沒有工作我得到這個錯誤。 遺漏的類型錯誤:對象的翻譯:有沒有方法「slitslider」腳本停止的其他代碼(slitslider)執行
指向本節slitslider = $('#slider').slitslider({
(function ($) {
if ($('#slider')) {
var Page = (function() {
var $navArrows = $('#nav-arrows'),
$nav = $('#nav-dots > span'),
slitslider = $('#slider').slitslider({
autoplay: true,
onBeforeChange: function (slide, pos) {
/**
* THIS SECTION MANAGES THE TRIANGLE COLORS EVERY TIME THE SLIDER BACKGROUND CHANGES SO DOES THE TRIANGLE.
*/
//get the colors of each slide
//and set it that color to the bottom-triangle.
var newpos = pos;
++newpos;
var triangleColor = $('.bg-' + newpos + ' .sl-slide-inner').css('backgroundColor');
$('.expertise-triangle').css('border-color', triangleColor + ' transparent transparent transparent');
/**
* THIS SECTION HANDLES THE DOT NAVIGATIONS ON TOP OF THE TRIANGLES.
*/
$nav.removeClass('nav-dot-current');
$nav.eq(pos).addClass('nav-dot-current');
}
}),
init = function() {
initEvents();
},
initEvents = function() {
// add navigation events
$navArrows.children(':last').on('click', function() {
slitslider.next();
return false;
});
$navArrows.children(':first').on('click', function() {
slitslider.previous();
return false;
});
$nav.each(function (i) {
$(this).on('click', function (event) {
var $dot = $(this);
if (!slitslider.isActive()) {
$nav.removeClass('nav-dot-current');
$dot.addClass('nav-dot-current');
}
slitslider.jump(i + 1);
return false;
});
});
};
return {
init: init
};
})();
Page.init();
} else {
return;
}
})(jQuery);
'$('#slider')'總是真的。你需要檢查它的長度'$('#slider').length'。 –
@Yury呵呵,我完全忽略了一點jQuery的返回空數組:-D TY爲捕捉;) – Christoph
@Christoph謝謝你不知道它返回一個空數組和eval爲真,現在我知道了。 –