Access our premium support and let us know your problems, we will help you solve them.

0
No products in the cart.
  • This topic is empty.
Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #10131
    blankabs
    Participant

    I am trying to make use of JQuery and Fancybox. This is how it should be used: http://fancy.klade.lv/howto

    However, I can not generate many ids for “a href” and I do not want to make many instances of fancybox ready. So I want to be able to use one fancy box instance for many hyperlinks that do the same thing.

    Whenever any of these links are clicked, the fancybox should popup for it. I thought I would use the onclick attribute for a “<a href” tag or any other tags, I can chnage this but how do I use the fancybox? I tried this but nothing came up:

    <a href="#not-working" onclick="fancybox(hideOnContentClick);">Not Working?</a>
    

    Thanks for any help

    #10137
    blankcletus
    Participant

    Don’t do it that way. If you can’t generate unique IDs (or simply don’t want to) you should be doing it with CSS classes instead:

    <a href="image.jpg" class="fancy"><img src="image_thumbnail.jpg"></a>
    

    with:

    $(function() {
      $("a.fancy").fancybox({
        'zoomSpeedIn': 300,
        'zoomSpeedOut': 300,
        'overlayShow': false
      }); 
    });
    

    (from their usage page).

    #10136
    blanklukas-gottschall
    Participant

    HTML:

    <a href="http://domain.com/bigimage.jpg" onclick="return fancybox(this);><img scr="http://domain.com/smallimage.jpg" /></a>
    

    JSCode:

    function fancybox(elem) {
    elem = $(elem);
    if (!elem.data("fancybox")) {
        elem.data("fancybox", true);
        elem.fancybox({
            'overlayColor' : '#000',
            'overlayOpacity' : 0.5
        });
        elem.fancybox().trigger('click');
    }
    return false; 
    }
    
    #10135
    blankthegauraw
    Participant

    IN CASE, you want to open contents of multiple divs within the page. i.e. part of the same page in fancybox, you can do it by following code:

    <a href="#show-in-fancy1" class="popup">open_fancy1</a>
    <a href="#show-in-fancy2" class="popup">open_fancy2</a>
    <div style="display:none">
      <div id="show-in-fancy1">
        this content is shown in fancybox.
      </div>
      <div id="show-in-fancy2">
        this content is shown in fancybox.
      </div>
    </div>
    <script>
      $(document).ready(function(){
        $('.popup').fancybox({
              'zoomSpeedIn': 300,
              'zoomSpeedOut': 300,
              'overlayShow': false
          });
      });
    </script>
    

    NOTE: Make sure that you have included fancybox.js

    #10138
    blankronald
    Participant

    This demonstrates how to use fancybox (1.3.4) without requiring the <a href> link element by calling fancybox directly.

    Inline:

    <div id="menuitem" class="menuitems"></div>
    
    <div style="display:none;">
        <div id="dialogContent">
        </div>
    </div>
    
    $('.menuitems').click(function() {
        $.fancybox({
            type: 'inline',
            content: '#dialogContent'
        });
    });
    

    Iframe:

    <div id="menuitem" class="menuitems"></div>
    
    $('.menuitems').click(function () {
        $.fancybox({
            type: 'iframe',
            href: 'http://www.abc123.com'
        });
    });
    
    #10133
    blanksilpion
    Participant

    Ronald answer gave me string #dialogContent content in fancyBox v2.1.5. Try to use:

    <div id="item"></div>
    
    <div style="display:none"><div id="data">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div></div>
    
    <script type="text/javascript">
    jQuery(document).ready(function() {
     jQuery("#item").fancybox({
           type: 'inline',
           content: jQuery('#data').html()
       });
    
    });
    </script>
    
    #10132

    In fancybox 3 it can be done by using following code.

    jQuery().fancybox({
        selector : 'your selector'
    });
    
    #10134
    blankjf-trichard
    Participant
    $(".btn_fancybox_messagerie").on("click", function(event) {
        //event.preventDefault();
        var to = $(this).text();
        $.fancybox.open({
            type: 'iframe',
            src: 'http://..../form-messagerie.php?to=' + to,
            toolbar  : false,
            smallBtn : true,
            iframe : {
                preload : false,
                scrolling: 'auto'
            }
        });
    });
    
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.