Конфликт клавиатуры JQuery Curtain.js и fancybox-2

Скрипт jquery выглядит следующим образом:

$(document).ready(function(){
    $('.fancybox').fancybox();

    $('.curtains').curtain({
        scrollSpeed: 300,
        controls: '.menu',
    })
})

используется jquery v1.7.1 и плагины, показанные ниже.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="includes/fancybox/source/jquery.fancybox.js?v=2.1.4"></script>
<script src="includes/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.5"></script>
<script src="includes/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
<script src="includes/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.5"></script>
<script src="js/curtain.js"></script>
<script src="js/myscript.js"></script>

На самом деле все работает идеально, НО,
при использовании клавиш вверх, вниз, влево, вправо для навигации по галерее fancybox (работает нормально),
Curtain.js работает одновременно в фоновом режиме меняются различные страницы/занавески.
Есть ли способ «отключить» Curtain.js при навигации по галерее изображений fancybox?


person user2439987    schedule 31.05.2013    source источник


Ответы (1)


Согласно документации занавеса, вы можете использовать enableKeys для этой цели, чтобы вы могли повторно запустить сценарий вашей шторы в обратных вызовах fancybox .... попробуйте это (непроверено):

$(document).ready(function () {
    $('.curtains').curtain({
        scrollSpeed: 300,
        controls: '.menu'
    });
    $('.fancybox').fancybox({
        beforeShow: function () {
            $('.curtains').curtain({
                enableKeys: false // no keys while fancybox is open
            });
        },
        afterClose: function () {
            $('.curtains').curtain({
                scrollSpeed: 300,
                controls: '.menu',
                enableKeys: true // re-enable keys after fancybox is closed
            });
        }
    }); // fancybox
}) // ready
person JFK    schedule 01.06.2013