Vous pensez être un expert en ajax jquery, thickbox?
Dernière réponse : dans Programmation
alors résoudre mon problème ne devrait pas vous poser de soucis...
je cherche à customiser thickbox
je prends les paramètres des images ds une base msql
et voudrais rajouter une div #TB_description à l'intérieur de la fenêtre pour en afficher la description juste à côté du titre de l'image.
voici la page d'index appelant thickbox3_1.js script situé plus bas
si je place la variable description directement ds thickbox3_1.js
la fenêtre s'affiche , le div aussi ainsi que le contenu de la variable
donc un problème de transmission /recuperation de variable???
merci de votre sollicitude,
je cherche à customiser thickbox
je prends les paramètres des images ds une base msql
et voudrais rajouter une div #TB_description à l'intérieur de la fenêtre pour en afficher la description juste à côté du titre de l'image.
voici la page d'index appelant thickbox3_1.js script situé plus bas
si je place la variable description directement ds thickbox3_1.js
la fenêtre s'affiche , le div aussi ainsi que le contenu de la variable
donc un problème de transmission /recuperation de variable???
merci de votre sollicitude,
<script type="text/javascript"> var mycarousel1_itemList = [ <?php $connexion = Connexion (); $query = "SELECT * FROM images WHERE categorie = ".$categorie." "; $result = mysql_query($query)or die(mysql_error()); $nbligne = mysql_num_rows($result); $i = 0; while($row = mysql_fetch_array($result)) { $image= $row['src']; $titre= $row['titre']; $description = $row['description']; echo '{url: "'.$image.'", title: "'.$titre.'", description: "'.$description.'"}'; if ($i++ < $nbligne - 1) echo ','; } mysql_close(); ?> ]; var mycarousel2_itemList = []; function mycarousel1_itemLoadCallback(carousel, state) { for (var i = carousel.first; i <= carousel.last; i++) { if (carousel.has(i)) { continue; } if (i > mycarousel1_itemList.length) { break; } // Create an object from HTML var item = jQuery(mycarousel1_getItemHTML(mycarousel1_itemList[i-1])).get(0); // Apply thickbox tb_init(item); carousel.add(i, item); } }; function mycarousel2_itemLoadCallback(carousel, state) { for (var i = carousel.first; i <= carousel.last; i++) { if (carousel.has(i)) { continue; } if (i > mycarousel2_itemList.length) { break; } // Create an object from HTML var item = jQuery(mycarousel2_getItemHTML(mycarousel2_itemList[i-1])).get(0); // Apply thickbox tb_init(item); carousel.add(i, item); } }; /** * Item html creation helper. */ function mycarousel1_getItemHTML(item) { var url_m = item.url.replace(/_s.jpg/g, '.jpg'); return '<a href="' + url_m + '" title="' + item.title + '"><img src="' + item.url + '" width="135" height="135" border="0" alt="' + item.title + '" /></a>' }; jQuery(document).ready(function() { jQuery('#mycarousel1').jcarousel({ easing: 'bounceout', animation: 800, size: mycarousel1_itemList.length, itemLoadCallback: {onBeforeAnimation: mycarousel1_itemLoadCallback} }); }); function mycarousel2_getItemHTML(item) { var url_m = item.url.replace(/_s.jpg/g, '.jpg'); return '<a href="' + url_m + '" title="' + item.title + '"><img src="' + item.url + '" width="135" height="135" border="0" alt="' + item.title + '" /></a>' }; jQuery(document).ready(function() { jQuery('#mycarousel2').jcarousel({ size: mycarousel2_itemList.length, itemLoadCallback: {onBeforeAnimation: mycarousel2_itemLoadCallback} }); }); </script>
// description= "test";// modif jerry // modif jerry (below) $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>" +caption+ "<div id='TB_description'>" +description+ "</div><div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>"); {//this means the window is already up, we are just loading new content via ajax $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px"; $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px"; $("#TB_ajaxContent")[0].scrollTop = 0; $("#TB_ajaxWindowTitle").html(caption); $("#TB_description").html(description); //modif jerry est-ce nécessaire? }
Autres pages sur : pensez expert ajax jquery thickbox
Lassé par la pub ? Créez un compte
Ne connaissant pas thickbox voilà ce que je te propose :
Dans ta page tu te fais un div caché, nommé pour l'exemple divCache. (1)
Tu fais après un observe sur ton image, qui au clic va faire un appel ajax. (2)
Le contenu retourné par cet appel sera écrit dans ton divCache. (3)
Après, il te suffit de jouer avec l'opacité de tes éléments. (4)
J'utilise prototype et scriptaculous, mais tout ceci se porte sans trop de difficulté avec d'autres librairies
Reviens si tu as des questions.
Dans ta page tu te fais un div caché, nommé pour l'exemple divCache. (1)
Tu fais après un observe sur ton image, qui au clic va faire un appel ajax. (2)
Le contenu retourné par cet appel sera écrit dans ton divCache. (3)
Après, il te suffit de jouer avec l'opacité de tes éléments. (4)
1/ Css: à toi de faire, mais ne pas oublier un z-index 2/ JS : $('divCache').observe(...) + Ajax.Updater(....) 3/ A toi de trouver où mettre ton div pour qu'il réceptionne le contenu de l'appel ajax (cf Ajax.Updater) 4/ JS : $('divCache').setOpacity(....);
J'utilise prototype et scriptaculous, mais tout ceci se porte sans trop de difficulté avec d'autres librairies
Reviens si tu as des questions.
Lassé par la pub ? Créez un compte
Mais si d'autre ont compris, je laisse la place
Non mais entre nous, explique un peu mieux, avec pourquoi pas liens sur les pages, en expliquant bien qui fait quoi. 