Fancybox v2.1.4 не работает - $ не определен

Я просто хотел заменить старую версию Fancybox на новую v2.1.4. К сожалению, это не работает. Ошибка:

ReferenceError: $ is not defined

Есть идеи?

<script type="text/javascript" src="http://static.mydomain.com/scripts/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="http://static.mydomain.com/scripts/fancybox/fancybox.js"></script>

<a class="oforms" href="/my/forms/form.php?id=10">Open form 10</a>

Файл сценария:

jQuery(function($){$(document).ready(function(){
$(".oforms").fancybox({
'autoDimensions': true,
'transitionIn': 'none',
'transitionOut': 'none',
'onComplete': function() {$("#fancybox-inner").css({'overflow-x':'hidden'});}, 
'ajax' : {
cache : false
}});
..............
..............
})});

person tfe    schedule 21.05.2013    source источник
comment
Почему первая часть файла сценария? jQuery (функция ($) {   -  person Raimond Kuipers    schedule 21.05.2013
comment
извините, я не понимаю вашего вопроса.   -  person tfe    schedule 21.05.2013
comment
Я не понимаю, почему jquery (функция ($) включена в ваш файл сценария. Насколько я знаю, это не нужно.   -  person Raimond Kuipers    schedule 21.05.2013
comment
Я не помню почему. Он был включен много лет назад. Как вы думаете, это причина, по которой новая версия Fancybox не работает, а старые версии в порядке?   -  person tfe    schedule 21.05.2013
comment
ошибка указывает на то, что с jquery что-то не так.   -  person Raimond Kuipers    schedule 21.05.2013
comment
Вы можете убедиться, что файл запроса загружен правильно? Возможно, это поможет: stackoverflow.com/questions/12309665/   -  person Raimond Kuipers    schedule 21.05.2013


Ответы (1)


Если вы планируете обновить свою версию, вам также необходимо обновить параметры API. Параметры в версии 2.x являются новыми и несовместимы с предыдущими версиями.

Также вам нужно указать type содержимого, поэтому попробуйте этот скрипт (я закомментировал старые параметры):

jQuery(document).ready(function ($) {
    $(".oforms").fancybox({
        autoSize: true, // 'autoDimensions': true,
        openEffect: "none", //'transitionIn': 'none',
        closeEffect: "none", // 'transitionOut': 'none',
    // 'onComplete': function() {$("#fancybox-inner").css({'overflow-x':'hidden'});}, 
        afterShow: function () {
            // your function
            // you may not need to mess with overflow, use scrolling instead
        },
        type: "ajax",
        ajax: {
            cache: false
        }
    });
});

Ознакомьтесь с документацией, чтобы получить полный набор параметров для версии 2.x.

person JFK    schedule 21.05.2013