2

这是我正在使用的脚本。

$(window).load(function() {
$('#edifici, #artistici, #industriale, #fotovoltaico, #veterinaria, #architettonici').hide();

if (!!window.location.hash) {
    var hash = window.location.hash;
    var $content = $(hash);
    showContent($content)
}

$('.home').click(function () {
    var id = this.id.replace('mostra_', '');
    var $content = $('#' + id + ':not(:visible)');
    if ($('.current').length === 0) {
        showContent($content)
    } else {
        $('.current').fadeOut(600, function () {
            showContent($content)
        });
    }
});

function showContent(content) {
    content.fadeIn(600);
    $('.current').removeClass('current');
    content.addClass('current');
}
});

根据本指南,要在 WordPress(在无冲突模式下有 jQuery)中使用它,我将脚本修改为

jQuery.noConflict();

jQuery(window).load(function($) {
$('#edifici, #artistici, #industriale, #fotovoltaico, #veterinaria, #architettonici').hide();

if (!!window.location.hash) {
    var hash = window.location.hash;
    var $content = $(hash);
    showContent($content)
}

$('.home').click(function () {
    var id = this.id.replace('mostra_', '');
    var $content = $('#' + id + ':not(:visible)');
    if ($('.current').length === 0) {
        showContent($content)
    } else {
        $('.current').fadeOut(600, function () {
            showContent($content)
        });
    }
});

function showContent(content) {
    content.fadeIn(600);
    $('.current').removeClass('current');
    content.addClass('current');
}
});

不幸的是,它似乎无法正常工作......我做错了什么?

4

1 回答 1

6
jQuery.noConflict();

说明:放弃 jQuery 对 $ 变量的控制

这意味着 jQuery 将不再使用 $,因此它将清除与其他库的所有冲突。

要在内部使用 $,您可以执行以下操作:

您可以将现有代码包装到匿名函数中并将 jQuery 作为参数传递,例如:

(function ($) {

    // use $ here
    $('#hello').html('world');

})(jQuery);

或使用 jQuery 提供的快捷方式:

jQuery(function($) {

    // use $
    $('#hello').html('world');

});

ready 方法还传递了 jQuery 对象:

jQuery(document).ready(function ($) {
    // ...
});
于 2013-09-08T08:44:24.007 回答