Fancybox troubles
Je suis en train de mettre en œuvre une fancybox. http://fancybox.net/howto
Je veux appeler cette fonction sur un élément. Plein de fichier JS. http://fancybox.net/js/fancybox/jquery.fancybox-1.2.1.js
$.fn.fancybox = function(settings) {
J'ai fait ceci:
$(document).ready(function() {
$("a#inline").fn.fancybox();
});
Cependant, je reçois ce message d'erreur (par le biais de firebug):
$("a#inline").fn is undefined
[Break on this error] $("a#inline").fn.fancybox();
Qu'est-ce que cela signifie? Je suis fondamentalement d'avoir de l'instanciation de problèmes.
S'il vous plaît aider.
MODIFIER
Le fichier HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Technologies</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="fancy/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="fancy/jquery.fancybox-1.2.1.js"></script>
<link rel="stylesheet" href="fancy/fancybox.css" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$("a#inline").fancybox();
});
</script>
</head>
<body>
<?php
include_once ("header.php");
?>
<div id="channel_calc">
How many Channels do I need?
<span id="yellow"><a id="inline" href="#ddm">Channel Calculator</a></span>
</div>
- Ce n'est pas ce qui est faux (sauf si vous avez invalide balisage, qui il n'y a pas de raison de penser que vous faites), mais il n'y a aucun point dans la
a
partie de votrea#inline
sélecteur. Le#
opérateur dans les sélecteurs CSS, indique un ID et Id sont uniques au monde. Pas nécessaire de préciser que c'est l'élément avec l'ID 'inline' c'est également un point d'ancrage. - T. J - je ne suis pas un expert en JS/HTML, mais le gars qui a créé ce plugin utilisé dans l'exemple, j'ai donc copié.
Vous devez vous connecter pour publier un commentaire.
.fn désigne le prototype.
Di vous trouver l'erreur? Eu le même problème. La Solution est que j'ai inclus deux fois un fichier javascript, mais j'inclus la jquery.js fichier deux fois.
J'ai été aussi à avoir ce problème et a trouvé que j'avais compris jquery.js à deux reprises. Le retrait de la seconde référence de correction de l'erreur que j'ai été l'obtention de la fancybox appel
$("a#inline").fn.fancybox(); doit être $("a#inline").fancybox();
Vous avez à faire assurez-vous de charger fancybox APRÈS jquery, sinon vous obtiendrez un "fancybox est pas une fonction" d'erreur et que votre javascript va briser ainsi:
CASSÉ:
BON:
Je l'ai copié d'un fragment de code HTML et JS dans jsfiddle.
Solution
Voir ce lien pour l'exemple de votre propre code à l'aide de la version jquery 1.4.4: http://jsfiddle.net/Ca6N5/
Je crois que vous avez oublié d'inclure jquery lui-même. Fancybox dépend de jquery.
Comme dit Ben, assurez-vous que jQuery n'est pas inclus deux fois par accident.
$("a#inline").fancybox(); -> c'est correct