2012-06-17 16 views
50

L'esempio canonico per la funzione di pop-up di Twitter Bootstrap è una sorta di suggerimento sugli steroidi con un titolo.Come si usa popover da Twitter Bootstrap per visualizzare un'immagine?

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> 

Vorrei utilizzare popover per visualizzare un'immagine. È possibile?

+0

prega di fare riferimento a questo link. Usando questo penso che dovresti poter visualizzare anche l'immagine. [http://stackoverflow.com/questions/8494291/can-i-use-html-tags-in-twitter-bootstrap-popover- data-content] (http://stackoverflow.com/questions/8494291/can -i-use-html-tag-in-twitter-bootstrap-popover-data-content) – Vins

risposta

84

Molto semplice :)

<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' è necessario per rendere il codice HTML reso correttamente :( – ajreal

+1

Ha funzionato per me dopo aver aggiunto il' trigger: 'hover' ' –

6

Questo è quello che ho usato.

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

e per il codice HTML

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

sorta di simile a quello che mattbtay detto, ma alcuni cambiamenti. html necessario: vero.
Metti questo script in fondo alla pagina verso il tag 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> 


Poi HTML è:

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

semplice con i link generati :) 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

Qui ho un esempio di pop-up Bootstrap 3 che mostra un'immagine con la piccola sopra quando il mouse passa sopra del testo. Ho inserito alcuni stili in linea che potresti voler rimuovere o modificare .....

Questo funziona anche molto bene sui dispositivi mobili perché l'immagine verrà visualizzata al primo tocco e il collegamento si aprirà sul secondo. 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

Potresti per favore elaborare più la tua risposta aggiungendo un po 'più di descrizione della soluzione che fornisci? – abarisone

+0

sicuro, cosa vorresti sapere? – Pepsimax

+0

Ottima risposta.Potrebbe non valere la pena che, se si utilizza AngularJS, JavaScript deve essere incluso nella callback di inizializzazione del controller o non funzionerà. –

Problemi correlati