Zoombox : Image vers Image vers Site web ?

Je suis en train d'installer zoombox sur mon site et je voudrais créer

  1. une image qui pointe vers une image ( pas de problème ).
  2. cette image devrait elle-aussi pointer vers un site web (la, j'ai un problème).

j'ai cherché et je ne vois rien qui parle de ça !

Auriez-vous des conseils a me donner ?

le css, peut-etre ?

merci d'avance.

8 réponses


GentlemanOwl
Réponse acceptée

Heu voilà, une classe un peu ... on va dire "brut" ... mais elle te permet de faire ce que tu voulais réaliser...

Toi il faut que simplement que tu récupère : url, src ...

var ShowMe = {

    init : function(){
        $("a[rel='ShowMe'] img").click(function(){
           $("ul li.video").hide();
           ShowMe.load('', $(this).attr("url"), $(this).attr("title"), $(this).attr("alt"), $(this).attr("src"));
           return false;
        });

        $("a[rel='Calendar']").click(function(){
           $("ul li.video").hide();
           ShowMe.load('calendar', $(this).attr("href"), $(this).attr("title"), '', '');
           return false;
        });
    },

    load : function(of, url, title, content, src){
        $("embed").hide();
        ShowMe.largeur = 580;
        if(of=='calendar'){
            ShowMe.hauteur = (($("#box .conteneur div#day-"+title+" ul li").length*160)+40);
        }
        else{
            ShowMe.hauteur = 257;
        }
        ShowMe.redim(ShowMe.largeur,ShowMe.hauteur);

        $("#box").show();
        $("#box .conteneur").show();
        if(of=='calendar'){
            $("#box .fond").animate({
                opacity: 0.7,
                backgroundColor: '#000000'
            }, 500,function(){
                $("#box .conteneur div#day-"+title).animate({
                    height: 'toggle'
                }, 1000, function(){});
            });
            $("#box .fond").click(function(){
               ShowMe.quit(); 
            });
        }
        else{
            $("#box .conteneur").append("<div class='tutoriel'><h3><a href='"+url+"'>"+title+"</h3></a><p>"+content+"<br /><a href='"+url+"'>Lire la suite</a></p><img src='"+src+"'/></div>");
            $("#box .fond").animate({
                opacity: 0.7,
                backgroundColor: '#000000'
            }, 500,function(){
                $("#box .conteneur .tutoriel").animate({
                   height: 'toggle' 
                }, 1000, function(){});
            });
            $("#box .fond").click(function(){
               ShowMe.quit(); 
            });
        }
    },

    show : function(data){
        $("#box .conteneur").empty();
        $("#box .conteneur").append(data);
    },

    redim : function(largeur, hauteur){
        $("#box .conteneur").css("left", ((ShowMe.WindowWidth()-largeur)/2)+"px");
        $("#box .conteneur").css("top", (ShowMe.scrollY()+(ShowMe.WindowHeight()-hauteur)/2)+"px");
    },
    WindowHeight : function(){
        if(window.innerHeight) return window.innerHeight;
        else{return $(window).height();}
    },
    WindowWidth : function(){
        if(window.innerWidth) return window.innerWidth;
        else{return $(window).width();}
    },

    scrollY : function(){
        ScY = 0;
        if(typeof(window.pageYOffset)=='number'){
            ScY = window.pageYOffset;
        }else if(document.body && (document.body.scrollTop)){
            ScY = document.body.scrollTop;
        }else if(document.body && (document.documentElement.scrollTop)){
            ScY = document.documentElement.scrollTop;
        }
        return ScY;
        alert(ScY);
    },

    quit : function(){
        $("#box").fadeOut(500, function(){
            $("embed").show();
            $("#box").hide();
            $("#box .conteneur").hide();
            $("#box .conteneur div.cal").hide();
            $("#box .conteneur div.tutoriel").remove();
        });
    }
}

niveau html, ça donne :

<a href="redirection vers le site suivant ...(pour ceux qui on pas JS d'activer" rel="utilise ton rel celui que tu veux">
<img src="lien de la grande image" url="redirection vers le site suivant ..." />

Dans JS n'oublie pas : return false; comme ici :

$("a[rel='ShowMe'] img").click(function(){
           $("ul li.video").hide();
           ShowMe.load('', $(this).attr("url"), $(this).attr("title"), $(this).attr("alt"), $(this).attr("src"));
           return false;
        });

Si je résume bien je clique sur une image. Cela ouvre zoombox. Et si je clique sur l'image de zoombox, ça me redirige vers un site?

optygame
Auteur

oui, tout a fait !

pour l'instant, j'ai crée un txt qui ouvre une page.html contenant une div contenant une image qui mene vers le site.

beaucoup de travail pour rien, je pense ?

Bah, ça dépend de ton contenu, je pense.

Enfin, tu peux me passer ton code source par ce que là. Je suis quelque peu perdu.

A la place de l'image tu utilise un lien tout simple maintenant c'est ça? Qui ouvre une page en html présente sur ton serveur web ? Contenant une image qui est elle même un lien vers un autre site web ?

Ce qui serait aussi intéressant ce serait de savoir dans quel but? l'objectif que tu souhaite atteindre car il y a peut être plus simple.

optygame
Auteur

Alors, voila:
le personnage que l'on voit est une image fixe.
le texte est fixe.
par contre, l'image au dessus s'ouvre avec Zoombox.

--principe de la miniature qui affiche son original--

et je voudrais que cette grande image devienne cliquable pour m'emmener sur le site choisi(firefox dans ce cas).

comme dit plus haut, j'utilise la redirection vers une page html qui contient mon image cliquable.

si vous avez plus simple, je suis vraiment preneur ?

merci de votre participation à mon problème...

Ok, je vois alors non je n’ai pas d'idées en plus sauf peut-être de suivre le tutoriel suivant : lien.
Puis lors de la réalisation tu ajouteras par exemple le lien dans title et la source dans href ou une autre balise.
Comme ça dès que tu clique sur ton image, ça ouvrira une pop-in avec un image cliquable sans passé par une page html.

optygame
Auteur

je vais voir le tuto et je te dis quoi...
merci quand même !

optygame
Auteur

Salut et un GRAND MERCI pour cette réponse. Mais, je ne suis pas encore très calé en js !
quelques infos supplémentaires auraient été les bienvenue.
merci encore...(je vais aller prendre quelques cours de base pour comprendre ton travail)