FancyBox крадет контент и не возвращает его обратно? - PullRequest
0 голосов
/ 08 декабря 2011

Я запустил fancybox по ссылке, которая загружает контент из скрытого раздела.

Если я закрою fancybox и снова нажму на ссылку, во второй раз около * он будет пустым1005 *

Вот мой код:

$.fancybox({
    content: $target
});

Есть идеи?

1 Ответ

0 голосов
/ 08 декабря 2011

У меня было много проблем с лайтбоксами других людей, проблемами, похожими на ваши, и другими проблемами с не отображением контента и тому подобным.

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

<script type="text/javascript">
    jQuery(document).ready(function($){
        $('a.clickme').click(function(){

            // this creates an overlay
            var theOverlay = $('<table class="overlayTable"><tr><td style="vertical-align:middle;text-align:center;padding:0"></td></tr></table>')
                .click(function(){ $(document).unbind('keyup'); $(this).remove(); });

        // this creates the white "inner" box
            $('<div></div>')
                .attr('id','insideContent')
                .css({
                    'display':'inline-block',
                    'background':'#fff',
                    'padding':'20px'
                })
                .append('<p>Some content here... you can load anything you want - or copy it from another div if you want...</p>')
                .appendTo($('body'))
                .wrap(theOverlay)
                .click(function(e){ e.stopPropagation(); });

            $(document).bind('keyup', function(e){
            // this binds the esc key to close the overlay
                if(e.keyCode==27) { $(document).unbind('keyup'); $('table.overlayTable').remove(); }
            });
        });
    });
</script>

<style>
.overlayTable {
    background: url("url/to/transparent/png/for/overlay/background.png") repeat scroll 0 0 transparent;

    border-collapse: collapse;
    border-spacing: 0;

    height: 100%; width: 100%; z-index: 999;
    left: 0; position: fixed; top: 0;

}
</style>

Не стесняйтесьпревратить это в плагин или что-то подобное.Поскольку вы просто заполняете div содержимым, вы можете поместить туда любой HTML или что угодно.

Вы также можете добавить свои собственные прикосновения, такие как кнопка закрытия (все, что нужно сделать, это позвонить $('table.overlayTable').remove();).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...