Bonjour,
J'ai trouvé ce tutoriel très intéressant et je m'en suis servi pour un de mes projets.
Cela fonctionne très bien mais pour des raisons esthétiques, je voudrai y ajouter quelques améliorations, et là j'ai besoin de votre aide.
Ce que j'ai changé :
J'ai préféré insérer la visualisation dans une div et au-dessus des miniatures.
Les images que je visualise ont toutes la même largeur mais pas la même hauteur, donc j'ai supprimé "height" pour le "#viewer".
Que faudrait-il que j'ajoute au js pour pouvoir animer la transition de taille (hauteur) de ma div "viewer" à chaque changement d'image et affichage du loader ?
Code js actuel :
Merci d'avance de vos réponses !!
J'ai trouvé ce tutoriel très intéressant et je m'en suis servi pour un de mes projets.
Cela fonctionne très bien mais pour des raisons esthétiques, je voudrai y ajouter quelques améliorations, et là j'ai besoin de votre aide.
Ce que j'ai changé :
$("#thumbs").[b]before[/b](
$(document.createElement("[b]div[/b]"))
.attr("id","viewer")
);
J'ai préféré insérer la visualisation dans une div et au-dessus des miniatures.
Les images que je visualise ont toutes la même largeur mais pas la même hauteur, donc j'ai supprimé "height" pour le "#viewer".
Que faudrait-il que j'ajoute au js pour pouvoir animer la transition de taille (hauteur) de ma div "viewer" à chaque changement d'image et affichage du loader ?
Code js actuel :
jQuery(function($){
var settings = {
thumbListId: "thumbs",
imgViewerId: "viewer",
activeClass: "active",
activeTitle: "Photo en cours de visualisation",
loaderTitle: "Chargement en cours",
loaderImage: "/img/loading_viewer.gif"
};
var thumbLinks = $("#"+settings.thumbListId).find("a"),
firstThumbLink = thumbLinks.eq(0),
highlight = function(elt){
thumbLinks.removeClass(settings.activeClass).removeAttr("title");
elt.addClass(settings.activeClass).attr("title",settings.activeTitle);
},
loader = $(document.createElement("img")).attr({
id: "img_loader",
alt: settings.loaderTitle,
title: settings.loaderTitle,
src: settings.loaderImage
});
highlight(firstThumbLink);
$("#"+settings.thumbListId).before(
$(document.createElement("div"))
.attr("id",settings.imgViewerId)
.append(
$(document.createElement("img")).attr({
alt: "",
src: firstThumbLink.attr("href")
})
)
);
var imgViewer = $("#"+settings.imgViewerId),
bigPic = imgViewer.children("img");
thumbLinks
.click(function(e){
e.preventDefault();
var $this = $(this),
target = $this.attr("href");
if (bigPic.attr("src") == target) return;
highlight($this);
imgViewer.html(loader);
bigPic
.load(function(){
imgViewer.html($(this).fadeIn(250));
})
.attr("src",target);
});
});
Merci d'avance de vos réponses !!