Не работает оверлей fancybox v2

Я хотел бы изменить наложение и непрозрачность причудливой коробки в приведенном ниже коде. Я попытался добавить эти строки на основе предложений JFK, но, к сожалению, это не работает:

   <script type="text/javascript">
$(".fancybox").fancybox({
    helpers : {
        overlay : {
            css : {
                'background' : 'rgba(58, 42, 45, 0.3)'
            }
        }
    }
});

</script>

сразу после открывающего тега скрипта, но безуспешно. есть идеи? Спасибо

Мой полный код сейчас:

    <script type="text/javascript">
$(".fancybox").fancybox({
    helpers : {
        overlay : {
            css : {
                'background' : 'rgba(58, 42, 45, 0.3)'
            }
        }
    }
});

function openFancybox() {
    setTimeout( function() {$('#various1').trigger('click'); },2000);

}
$(document).ready(function() {
    var visited = $.cookie('visited');
    if (visited == 'yes') {
        return false;
    } else {
        openFancybox();
    }
    $.cookie('visited', 'yes', { expires: 1 });
    $('#various1').fancybox();

});
</script>

Внутри тегов тела:

<div id="various1" style="display:none;">
<h2>Welcome to our website!</h2>
</div>

person Greg    schedule 08.06.2013    source источник
comment
Взгляните сюда: stackoverflow.com/questions/9740443/   -  person Irvin Dominin    schedule 09.06.2013
comment
Какой селектор вы на самом деле используете для запуска fancybox: .fancybox или various1? потому что что бы это ни было, вы должны применить свои параметры к сценарию, который связывает fancybox с этим селектором. Кстати, параметры API fancybox v2.x являются новыми и несовместимы с предыдущими версиями... overlayOpacity — это параметр для версии 1.3.4. Проверьте документы на наличие правильных параметров, которые вы должны использовать fancyapps.com/fancybox/#docs.   -  person JFK    schedule 09.06.2013
comment
@Edward, к сожалению, этот пост устарел и действителен для версии 2.0.x, но не для версии 2.1.x .... см. мой ответ для нового поддерживаемого формата.   -  person JFK    schedule 09.06.2013


Ответы (3)


Параметры Fancybox v2.x являются новыми и несовместимы с предыдущими версиями... например, overlayOpacity и overlayColor являются параметрами для fancybox v1.3.4 и не будут работать с версией 2.

Проверьте документацию fancybox v2.x, чтобы узнать, какие параметры вам следует использовать.

Чтобы изменить цвет и непрозрачность в fancybox 2, вы должны использовать этот формат (версия 2.1.4, как сегодня):

$("#various1").fancybox({
    helpers : {
        overlay : {
            css : {
                'background' : 'rgba(58, 42, 45, 0.3)'
            }
        }
    }
});

... где последним из 4 чисел является выбранный opacity (EDIT: приведенный выше код соответствует селектору OP)

Проверьте JSFIDDLE.

ВАЖНО: IE[6/7/8] не поддерживает rgba .... проверьте эту статью для дальнейшего использования.

person JFK    schedule 08.06.2013
comment
Спасибо, Джон Кеннеди. Я обновил код своего вопроса на основе вашего ответа, но, к сожалению, теперь он работает. Код размещен не в том месте? (Мне все еще трудно определить, что и где с js) Спасибо. - person Greg; 09.06.2013
comment
@ Грег: да, это не то место .... это должно быть как вариант $('#various1').fancybox();. Если у вас нет связи <a> с class="fancybox", то вам вообще не нужен этот $(".fancybox").fancybox() скрипт - person JFK; 09.06.2013
comment
@Greg: см. мой отредактированный ответ. Просто помните, что идентификаторы должны быть уникальными, чтобы только один элемент мог иметь этот идентификатор в одном документе. Если вы хотите применить код к нескольким элементам, используйте вместо этого классы. - person JFK; 09.06.2013
comment
На самом деле я думаю, что говорил слишком быстро... Похоже, в моем случае это не работает. Не могли бы вы взглянуть на goo.gl/rMIYJ, пожалуйста? (это основано на вашем последнем коде)? Чего я пытаюсь добиться, так это применить какое-то наложение непрозрачности/фона ко всей странице (кроме fancybox). Большое спасибо. - person Greg; 09.06.2013
comment
@Greg: у вас есть два сценария $("#various1").fancybox(); у первого есть опция helpers (как в моем коде), но второй, без него, переопределяет первый. Вам нужно добавить параметр helpers ко второму (тому, что сразу после скрипта $.cookie()) и удалить первый сверху. - person JFK; 09.06.2013

Просто введите свой код

$(function(){
//your code here
})
person Rahul Sawant    schedule 28.07.2016

Пытаться

#fancybox-overlay {
  width: 100%;
}
person Tim Kozak    schedule 23.04.2014