2012-06-17 4 views
50

L'exemple canonique pour Twitter La fonctionnalité Popover de Bootstrap est en quelque sorte une info-bulle sur les stéroïdes avec un titre.Comment utiliser popover de Twitter Bootstrap pour afficher une image?

HTML:

<a href="#" id="blob" class="btn large primary" rel="popover" data-content="And here's some amazing content. It's very engaging. right?" data-original-title="A title">hover for popover</a> 

JS:

<script> 
$("#blob").popover({offset: 10}); 
</script> 

Je voudrais utiliser popover pour afficher une image. Est-ce possible?

+0

S'il vous plaît se référer à ce lien. En utilisant cela, je pense que vous devriez pouvoir afficher l'image aussi. [http://stackoverflow.com/questions/8494291/can-i-use-html-tags-in-twitter-bootstrap-popover- data-content] (http://stackoverflow.com/questions/8494291/can -i-utiliser-html-tags-dans-twitter-bootstrap-popover-données-contenu) – Vins

Répondre

84

Très simple :)

<a href="#" id="blob" class="btn large primary" rel="popover">hover for popover</a> 

var img = '<img src="https://si0.twimg.com/a/1339639284/images/three_circles/twitter-bird-white-on-blue.png" />'; 

$("#blob").popover({ title: 'Look! A bird!', content: img, html:true }); 

http://jsfiddle.net/weuWk/

+15

'html: true' est nécessaire pour rendre le html étant rendu correctement :( – ajreal

+1

A travaillé pour moi après avoir ajouté' trigger: 'hover' ' –

6

C'est ce que je.

$('#foo').popover({ 
    placement : 'bottom', 
    title : 'Title', 
    content : '<div id="popOverBox"><img src="http://i.telegraph.co.uk/multimedia/archive/01515/alGore_1515233c.jpg" /></div>' 
}); 

et pour le HTML

<b id="foo" rel="popover">text goes here</b> 
14

Trier de similaire à ce que mattbtay dit, mais quelques changements. html requis: vrai.
Placez ce script en bas de la page vers la balise body close.

<script type="text/javascript"> 
$(document).ready(function() { 
    $("[rel=drevil]").popover({ 
     placement : 'bottom', //placement of the popover. also can use top, bottom, left or right 
     title : '<div style="text-align:center; color:red; text-decoration:underline; font-size:14px;"> Muah ha ha</div>', //this is the top title bar of the popover. add some basic css 
     html: 'true', //needed to show html of course 
     content : '<div id="popOverBox"><img src="http://www.hd-report.com/wp-content/uploads/2008/08/mr-evil.jpg" width="251" height="201" /></div>' //this is the content of the html box. add the image here or anything you want really. 
}); 
}); 
</script> 


Alors HTML est:

<a href="#" rel="drevil">mischief</a> 
6

simple avec des liens générés :) html:

<span class='preview' data-image-url="imageUrl.png" data-container="body" data-toggle="popover" data-placement="top" >preview</span> 

js:

$('.preview').popover({ 
    'trigger':'hover', 
    'html':true, 
    'content':function(){ 
     return "<img src='"+$(this).data('imageUrl')+"'>"; 
    } 
}); 

http://jsfiddle.net/A4zHC/

1

Ici, j'ai un exemple de pop-up Bootstrap 3 montrant une image avec le trait au-dessus quand la souris survole du texte. J'ai mis dans un style en ligne que vous voudrez peut-être sortir ou changer .....

Cela fonctionne également très bien sur les appareils mobiles, car l'image apparaîtra sur le premier robinet et le lien s'ouvrira sur le seconde. html:

<h5><a href="#" title="Solid Tiles Template" target="_blank" data-image-url="http://s29.postimg.org/t5pik8lyf/tiles1_preview.jpg" class="preview" rel="popover" style="color: green; font-style: normal; font-weight: bolder; font-size: 16px;">Template Preview 1 <i class="fa fa-external-link"></i></a></h5> 

<h5><a href="#" title="Clear Tiles Template" target="_blank" data-image-url="http://s9.postimg.org/rdonet7jj/tiles2_2_preview.jpg" class="preview" rel="popover" style="color: red; font-style: normal; font-weight: bolder; font-size: 16px;">Template Preview 2 <i class="fa fa-external-link"></i></a></h5> 

<h5><a href="#" title="Clear Tiles Template" target="_blank" data-image-url="http://s27.postimg.org/8scrcdu9v/tiles3_3_preview.jpg" class="preview" rel="popover" style="color: blue; font-style: normal; font-weight: bolder; font-size: 16px;">Template Preview 3 <i class="fa fa-external-link"></i></a></h5> 

js:

$('.preview').popover({ 
    'trigger':'hover', 
    'html':true, 
    'content':function(){ 
     return "<img src='"+$(this).data('imageUrl')+"'>"; 
    } 
}); 

https://jsfiddle.net/pepsimax_uk/myk38781/3/

+0

Pourriez-vous s'il vous plaît élaborer plus votre réponse en ajoutant un peu plus de description sur la solution que vous fournissez? – abarisone

+0

sûr que voulez-vous savoir? – Pepsimax

+0

Grande réponse.Cela peut ne valoir rien que si vous utilisez AngularJS, le JavaScript doit être inclus dans le rappel d'initialisation du contrôleur ou il ne fonctionnera pas. –

Questions connexes