fancybox с AJAX не работает

0

Я использую Fancybox jquery.I имеет ссылку, когда я нажимаю на эту ссылку, в то время я получаю изображения через AJAX. Я хочу, чтобы эти изображения открывались прямо в Fancybox.

Это мой html code-

 <a href="javascript:void(0); id="Delhi" class="store_pictures_click">Store Pictures</a>
    <a href="javascript:void(0); id="Mumbai" class="store_pictures_click">Store Pictures</a>
    <div id="storeModal"></div>

Это мой jquery code- -

$(document).ready(function(){


    $('.store_pictures_click').click(function(e){
        e.preventDefault();

        var store_name  =   $(this).attr('id');

        $.post('<?php echo site_url("cart/change_store_pictures"); ?>',{store_name:store_name},
            function(data){

                $('#storeModal').html(data);
                $('.fancybox').fancybox();
            }
        );

    });

}); 

Это мой PHP code-

$store_name =   $this->input->post('store_name');
        $this->load->model('Store_Pictures_model'); 
        $data['store_pictures'] =   $this->Store_Pictures_model->get_store_pictures($store_name);

        echo '<p>';
        foreach($data['store_pictures'] as $store_picture){
            ?>

            <a class="fancybox" href="<?php echo base_url('uploads/images/full/'.$store_picture->store_picture); ?>" ></a>
        <?php
        }

        echo '</p>';

Но я не могу видеть всплывающее окно fancybox со слайдером. Пожалуйста, помогите мне, ребята.

Заранее спасибо!!!

  • 0
    Fancybox открывается или нет?
  • 0
    @ Nil'z означает открытие ??? Я включил оба файла fancybox.js и fancybox.css
Теги:
codeigniter
popup
fancybox

1 ответ

0
Лучший ответ

Изменения в представлении:

<a href="<?=base_url()?>cart/change_store_pictures/Delhi" id="Delhi" class="store_pictures_click">Store Pictures</a>
<a href="<?=base_url()?>cart/change_store_pictures/Mumbai" id="Mumbai" class="store_pictures_click">Store Pictures</a>
<script type="text/javascript">

$(function(){
    $(".store_pictures_click").fancybox({
        type        : 'iframe',
        autoSize : false,
        /*beforeLoad : function() {                    
            this.width = parseInt(this.href.match(/width=[0-9]+/i)[0].replace('width=',''));  
            this.height = parseInt(this.href.match(/height=[0-9]+/i)[0].replace('height=',''));
            //this.width = $('.fancybox-iframe').contents().find('.fancybox-skin').width();
            //this.height = $('.fancybox-iframe').contents().find('.fancybox-skin').height();
        },*/
        width    : "710px",
        height   : "290px",
        'scrolling'     : 'no',
        'titleShow'     : false,
        //padding         : 0,
        openEffect  : 'fade',
        closeEffect : 'fade'
    });
});

</script>

Ваш контроллер:

function change_store_pictures(){
    $store_name =   $this->uri->segment( 3 );
    $this->load->model('Store_Pictures_model'); 
    $data['store_pictures'] =   $this->Store_Pictures_model->get_store_pictures($store_name);
    $this->load->view("pic_popup", $data);
}

Ваш pic_popup.php:

<?php
    //print_r( $store_picture ); 
?>
<a class="fancybox" href="<?php echo base_url('uploads/images/full/'.$store_picture->store_picture); ?>" >
    <img src="<?=base_url('uploads/images/full/'.$store_picture->store_picture)?>">
</a>

Надеюсь, поможет. : D

  • 0
    Это сработало для вас?
  • 0
    сейчас появляется всплывающее окно, но оно не показывает изображения, оно просто пустое.
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню