1

I've been trying to get this to work for quit sometime now. And asked this question around the internet and searched google for this. Yet I still have to find the right answer.

Update: (read on for full story). I have found some script. But now the fancybox animation just appears and nothing else.

$(function(){
        $('.fancybox-incl').each(function(i, el) {
            var target;
            $(el).click(function(){
                target = this.hash.replace('#','.');
            }).fancybox({ 
                'autoDimensions': true, 
                'type': 'ajax',
                'ajax': { 
                    dataFilter: function(data) {
                        return target ? $(data).filter(target)
                        ('.discription') : $(data); 
                    } 
                } 
            }); 
        });
    });

It looks like the original poster had the same issue but fixed it. But he didn't comment his own question with the correct answer.

Original question: open requested div in fancybox from other page

If someone could help me with this one... The problem: I'm trying to retrieve a specific ID from an other page (in the same domain) with fancybox.

The fancybox link is on my frontpage and opens a page. But I don't want the whole page to show, only a specific DIV ID from that page.

This is how I load the page using fancybox: (in my functions.php)

function get_the_term_list_inclusief( $id, $taxonomy, $before = '', $sep = '', $after = '') {
    $args_incl = array('order' => 'ASC');

    $terms = wp_get_object_terms( $id, $taxonomy, $args_incl );

    if ( is_wp_error( $terms ) )
        return $terms;


    if ( empty( $terms ) )
        return false;

    $links = array();

    usort($terms, function($a, $b) {
        return strcmp($a->name, $b->name);
    });

    foreach ( $terms as $term ) {
        $link = get_term_link( $term, $taxonomy, $args_incl );
        if ( is_wp_error( $link ) ) {
            return $link;
        }

        $links[] = '<a class="fancybox-incl fancybox.ajax" title="inclusief" href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
    }

My single-[page-slug].php file looks like this:

<?php get_header(); ?>
<?php the_post(); ?>



<section id="inclusief" style="margin-top:15px;">
        <div class="col-sm-5 mobile">
            <h1 class="extra-title"><?php the_title(); ?></h1>
                <div class="tabcontent" id="tab-<?php the_ID(); ?>">
                    <p><?php the_content(); ?></p>
            </div>
        </div>
        <div class="col-sm-1"></div>
        <div class="col-sm-6 no-padding">
            <div class="incl">
                <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>
            </div>
        </div>
    </div>
</section>

<section id="inclusief1" style="margin-top:15px;display:none;">
        <div class="col-sm-5 mobile">
            <h1 class="extra-title"><?php the_title(); ?></h1>
                <div class="tabcontent" id="tab-<?php the_ID(); ?>">
                    <p><?php the_content(); ?></p>
            </div>
        </div>
        <div class="col-sm-1"></div>
        <div class="col-sm-6 no-padding">
            <div class="incl">
                <?php if ( has_post_thumbnail() ) { the_post_thumbnail(); } ?>
            </div>
        </div>
    </div>
</section>

<?php get_footer(); ?>

Now when I click on a fancybox link I would like to show ONLY #inclusief1.

Fancybox script:

$(document).ready(function() {
                $(".fancybox-incl").fancybox({
                    maxWidth   : 900,
                    maxHeight  : 300,
                    fitToView  : false,
                    width      : '100%  ',
                    height     : '100%',
                    autoSize   : false,
                    closeClick : false,
                    openEffect : 'fade',
                    closeEffect: 'fade',
                    helpers: { 
                        title: null
                    }
                });
            });

I have gotten it to work, with this article Jquery FancyBox target specific DIV ID?

But that only works when the Div is on the same page... and not on a other page.

Help would be much appreciated. I'm not that of a coder so, but no novice either. So if some one could explain what I'm suppose to do. thanks!

As suggested by Pete (thanks). This looks promising. But I cant seem to figure it out with my Div names. Can anyone help me?

$('#button').on('click', function(){    
   var nzData = '/url.com?Zip=8000 #module';

     $('#foo').load(nzData, function(){
       var foo = $('#foo').html(); 
       $.fancybox(foo);
    });

});
Community
  • 1
  • 1
Steggie
  • 525
  • 8
  • 31
  • [Have a look at this instead](http://stackoverflow.com/questions/3054673/jquery-fancybox-target-specific-div-id-in-iframe/3055932#3055932) - I think there is an ajax option – Pete May 20 '16 at 08:42
  • Tried that one. Didn't work for me... the page just loads in a new page then and not in a fancybox window. – Steggie May 20 '16 at 08:59
  • It may be for the version 1 of fancybox as it was an old post, have you tried this: http://stackoverflow.com/questions/10403634/loading-dynamic-ajax-content-into-fancybox where you set the href in the options or url in the ajax options – Pete May 20 '16 at 09:19
  • I don't get this one. Could you point me in the right why using my div names and stuff? `$('#button').on('click', function(){ var nzData = '/url.com?Zip=8000 #module'; $('#foo').load(nzData, function(){ var foo = $('#foo').html(); $.fancybox(foo); }); });` – Steggie May 20 '16 at 09:55

0 Answers0