2010-04-09 5 views
0

Chargement de fancybox à partir de Jquery comment puis-je récupérer le contenu d'un ID div sur une page et non la page entière. Ceci est mon code pour prix qui me fait la page entière:Jquery Dynamic boîte de fantaisie

L'index (ce lien à la vue du spectacle de styel):

<div class="style_image"> <%=link_to (image_tag style.cover.pic.url(:normal)), style %></div> 

La vue du spectacle (je veux apparaître dans le fancybox):

<div id="show_style"> 

    ALL THE CONTENT! 

</div> 

application.js:

$(function() { 

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

    $(".style_image a").fancybox(); 
    return false;  

}); 
}); 

J'ai aussi essayé ce qui suit sans succès:

$(function() { 

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

    $(".style_image a" + "#show_style").fancybox(); 
    return false;  

}); 
}); 

Je ne sais pas comment cela se fait comme il y a peu d'informations sur le fancy box docs. Je souhaite que cela soit fait dynamiquement pas en ligne.

+0

Attendez, vous voulez l'ancre qui a une carte d'identité de « show_style »? – Metropolis

+0

Je veux obtenir le contenu de l'ID show_style à partir du href et l'afficher dans le FAncyBox! – MrThomas

+0

Ok ... Je pense que les noms que vous utilisez pour tout m'embrouillent, et peut-être tout le monde. Quand vous dites "je veux obtenir le contenu de l'ID show_style" cela signifie-t-il le contenu de l'élément avec l'identifiant de show_style? Et quand vous dites "de l'href" parlez-vous du contenu de l'élément d'ancrage? ou les données href réelles .... S'il vous plaît être plus précis sur les choses ou il sera difficile d'aider.Pouvez-vous s'il vous plaît poster votre code HTML pour ces éléments ... Cela aiderait. – Metropolis

Répondre

0

Je ne suis pas sûr que je sais ce que vous voulez dire, mais si vous voulez appeler fancybox() sur tout l'élément cliqué essayez ceci:

$(function() { 

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

    $('this').fancybox(); 
    return false;  

}); 
}); 
+0

Peter ceci appellera seulement la boîte de fantaisie soutirant normalement le href du lien (". Style_image a"). Je veux obtenir seulement l'ID #show_style du href comme décrit ci-dessus. – MrThomas

+0

Je ne pense pas que je te suis. Est-ce que #show_style ID est dans l'ancre? Peut-être que vous devriez me montrer du HTML ... – Peter

+0

J'ai ajouté du HTML pour rendre les choses plus claires! – MrThomas

0

Ok, basé sur de l'information nouvelle que vous avez fourni I Croyez ce que vous essayez de faire est de prendre tout le contenu de l'intérieur de l'élément show_style et le mettre dans la fancybox. Voici le javascript.

$(function() { 
    $("a#linkEle").fancybox({ 
     'hideOnContentClick': true 
    }); 
}); 

Et votre code html pointera vers le contenu intérieur de l'élément show_style

<a id="linkEle" href="#show_style"></a> 
<div style="display:none"><div id="show_style">ALL CONTENT TO BE SHOWN</div></div> 

Voyez comment les points d'ancrage href à la div avec un id de show_style. Si vous essayez d'obtenir tout le contenu à l'intérieur de show_style et le mettre dans la boîte de fantaisie, je crois que c'est ainsi que vous le feriez.

Metropolis

+0

ces méthodes ne fonctionnent pas, acclamations Metropolis! – MrThomas

0

Selon le Fancybox documentation, vous voulez que votre tag <a> avoir #show_style comme élément href.

<div class="style_image"><a href="#show_style">Click here to show fancybox</a></div> 

Ensuite, votre premier code devrait fonctionner:

$(function() { 

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

    $(".style_image a").fancybox(); 
    return false;  

}); 
}); 
1

J'ai ce problème aussi.

maintenant il a été résolu.

voici la réponse:

function view(url){ 

    $.fancybox(
      url, 
      { 
       type: 'iframe', 
       width   : '35%', 
       height   : '50%', 
       showCloseButton: true, 
       opacity: true, 
       overlayOpacity: 0, 
       transitionIn: 'none', 
       transitionOut: 'none', 
       enableEscapeButton: true 
      } 
    ); 
} 




<a onclick="view('ViewFacility?rid=2');return false;" >click</a>