2010-02-07 2 views
0

espérons une simple question ici. Je gère un blog Wordpress qui contient un ensemble de liens vers différentes villes, qui pointent vers un emplacement sur une carte Google.Mise à jour de src IFRAME tout en étant incorporé dans Thickbox

Ma configuration actuelle implique d'avoir un iframe pour chaque lien, et que iframe apparaît dans une thickbox quand il est cliqué.

Maintenant que ma liste de villes a augmenté, j'ai de nombreux iframes préchargés dans les coulisses pendant le chargement de la page .... et c'est un problème.

Je pensais juste que chaque lien mettait à jour le src de l'iframe, mais je pense que ma boîte aux lettres est en train de le faire.

Ce fut le code javascript que je cherchais à utiliser pour mettre à jour le lien ..

document.getElementById('map_frame').src = new_url; 

Et ici serait un lien associé qui déclencherait cette ...

<li class="sub_li"> 
    <a href="#TB_inlinemodalContent?height=700&width=500&inlineId=map_frame" onclick="switch_map('bregenz');" title="Bregenz, Austria" class="thickbox">bregenz</a> 
</li> 

Où, new_url est peuplé via une grande déclaration de commutateur (et en utilisant le débogage de trace, je sais que cela fonctionne au moins).

Cependant, lorsque la lightbox apparaît, la carte affichée ne change jamais ... c'est simplement la carte initiale que je pré-charge.

Répondre

1

Peut-être le thickbox supprime votre gestionnaire onclick, vous devez au lieu de cela, ajoutez le code pour ajouter votre gestionnaire cliquez sur les liens sur un autre contexte, comme:

<script type="text/javascript"> 
$(function() { //when the document is ready 
    $('a.thickbox').bind('click',function() { //bind a click handler all the a elements with thickbox class 
    switch_map($(this).attr("title")); //execute your function 
    }); 
}); 
</script> 

Et au lieu d'obtenir l'attribut title, vous pourrait ajouter un nouveau, nommé "valeur" ou "ville", et y mettre la valeur que vous voulez passer à la fonction switch_map .. Je suppose que vous pouvez utiliser jQuery pour le faire.