2010-08-03 3 views
0

Je mets un logo comme l'image d'arrière-plan dans un divUtiliser l'image d'arrière-plan div comme lien en utilisant jQuery

<div id="logo" style="background-image:url(images/logo.jpg); position:absolute; top:20px; left:18%; width:275px; height:100px; cursor:pointer;"></div> 

Je veux l'utiliser comme div comme un lien en utilisant jquery

// Code jQuery

$('#logo').bind('click',function() { 
window.location = "index.php" 
}); 

ni ce que le cursor:pointer ne montrent jusqu'à ce que le travail de lien, toutes les idées.

Merci Jean

+0

Do vous avez d'autres infos sur thi s problème? En utilisant vos exemples, cela fonctionne parfaitement pour moi - à la fois le curseur et le lien dans IE et Firefox. Votre bibliothèque jQuery est-elle correctement référencée sur la page? – CraigTP

+0

qui devrait fonctionner, [démo] (http://jsfiddle.net/W3c5V/) – Reigel

+0

J'utilise chrome – X10nD

Répondre

1

Assurez-vous que vous enveloppez votre code dans ready handler comme ceci:

$(function(){ 
    $('#logo').bind('click',function() { 
    window.location = "index.php" 
    }); 
}); 
+0

une raison particulière, normalement c'est le code que j'écris – X10nD

+1

@Jean: Vous devez spécifier envelopper votre code dans le gestionnaire prêt afin que lorsque DOM devient prêt, votre code devrait devenir utilisable lorsque le logo est cliqué par exemple. Plus d'informations: http: //api.jquery.com/ready/ – Sarfraz

+0

Je ne comprends pas, quelle est la différence entre votre code et le mien – X10nD

0

utilisation,

window.location.replace("index.php") 

au lieu de

window.location = "index.php" 

et au lieu de .bind, il suffit d'utiliser .cliquez événement.

0

Vous n'avez pas besoin de jQuery/JavaScript pour cela, utilisez simplement HTML et CSS.

<a href="index.php" id="logo">Blabla</a> 

#logo { 
display: block; 
background-image: url(img/foo.png); 
text-indent: -9999em; 
overflow: hidden; 
width: 300px; /* width of image goes here */ 
height: 300px; /* height of image goes here */ 
} 
0

ressemble vous manque un point-virgule après « index.php »

+0

point-virgule n'est pas le problème en ce moment ..;) – Reigel

1

Inscrivez votre gestionnaire d'événements click dans le gestionnaire d'événements ready comme suit, et il fonctionnera:

$(document).ready(function() { 
    $("#logo").click(function() { 
     window.location = "index.php"; 
    }); 
}); 

En ce qui concerne votre problème CSS, je l'ai testé avec Google Chrome (5.0.375.125), Opera (10.60) et Internet Explorer (8.0), et le curseur est affiché correctement.

1

ajouter display:block; à votre css

voir un exemple de travail ici

http://jsfiddle.net/4ceK4/

+0

div est déjà un élément bloqué par défaut;) – Reigel

+0

Je sais mais ça a marché quand je l'ai placé, bizarre – Starx

+0

ouais! et travaille toujours quand je l'ai enlevé. – Reigel

Questions connexes