2010-04-10 6 views
12

Comment puis-je obtenir une boîte de fantaisie pour cibler un DIV ID spécifique sur une page et ne pas demander la page entière dans la fancybox.? Ce mon code ainsi le prixJquery FancyBox cible ID DIV spécifique?

$(function() { 

$(".style_image a").live('click', function(event) { 

    $(".style_image a").find("#show_style").fancybox();  

}); 
}); 

Cela ne fonctionne pas?

Je l'origine essayé ce qui suit:

$(function() { 

    $(".style_image a").live('click', function(event) { 

     $(this.href + " #show_style").fancybox();  

    }); 
    }); 

Je ne sais pas comment cela fait, ou s'il est encore possible?

here are the doc's

Répondre

7

Vous avez juste besoin ce sélecteur:

$("#show_style").fancybox(); 

Le ID selector (puisque les ID doivent être uniques) est juste #IDGoesHere

Je pense ce que vous êtes après le chargement Si vous voulez charger <div id="content"></div> depuis la page vers laquelle pointe le href, faites-le en utilisant .load():

$(".style_image a").on('click', function(event) { 
    $('#show_style').load(this.href + " #content").fancybox();  
}); 

.load() a une option pour url selector qui charge seulement une partie de la page de destination.

+0

S'il vous plaît pensez-vous que vous pourriez me aider cette question http://goo.gl/Yl5qIi – Axel

24

Si vous voulez fancybox d'ouvrir un certain div vous utilisez simplement les étapes simples suivantes:

vous devez d'abord un lien pour accrocher FancyBox à:

<a href="#myDivID" id="fancyBoxLink">Click me to show this awesome div</a> 

Notez le div id à côté l'ancre.

Deuxièmement, vous avez besoin d'un div qui sera affiché à l'intérieur du FancyBox:

<!-- Wrap it inside a hidden div so it won't show on load --> 
<div style="display:none"> 
    <div id="myDivID"> 
     <span>Hey this is what is shown inside fancybox.</span> 
     <span>Apparently I can show all kinds of stuff here!</span> 
     <img src="../images/unicorn.png" alt="" /> 
     <input type="text" value="Add some text here" /> 
    </div> 
</div> 

Et troisième javascript très facile à accrocher tous ensemble

<script type="text/javascript"> 
    $("a#fancyBoxLink").fancybox({ 
     'href' : '#myDivID', 
     'titleShow' : false, 
     'transitionIn' : 'elastic', 
     'transitionOut' : 'elastic' 
    }); 
</script> 
+0

Que diriez-vous d'utiliser un ID pour ouvrir le div dans un fancybox si vous ne pouvez pas changer la valeur de href? c'est-à-dire ouvrir une div dans une fancybox en cliquant sur un img qui a un ID> –

+0

Charlie change l'identifiant ici 'href': '#myDivID', dans le code ci-dessus. – Yasir

+0

Si j'ai bien compris cet exemple, c'est très compliqué avec 100 images car j'ai besoin d'écrire 100 scripts, chacun pour une image car ça fonctionne avec ID. En outre, mon objectif était d'ouvrir l'image de fantaisie dans un div qui est cca. 70% de la largeur de l'écran mais avec cette méthode, quand j'ouvre l'image, elle s'ouvre à 100% de la taille de l'écran, comme à l'origine ... –