У меня есть HTML-файл, который ссылается на файл .js. Файл js имеет функцию jQuery, определенную как плагин. В html-файле есть несколько гиперссылок, которые при нажатии должны развернуться, показывая подробное описание (которое скрыто на странице). Теперь это устройство работает под IE8, но не на Fire Fox. У меня изначально был Firefox 3.6.13 .... и я обновил его до Firefox 4 ... он не работал ни для одной из версий. Вот фиктивный HTML-файл (для простоты) и содержимое файла .js
HTML:
<html>
<head>
<style>
span { background:#def3ca; padding:3px; float:left; }
</style>
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<script src="path/to/jquery/file/jquery.compand.js"></script>
</head>
<body>
<table width="100%" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="13%" valign="top">Job Code </td>
<td width="87%" valign="top">Job Title </td>
</tr>
<tr>
<td valign="top">2223 </td>
<td valign="top"><a class="click" id="2223" href="#">Systems Analyst </a>
<div class="text" id="2223text"><span>This text was hidden before.</span></div>
</td>
</tr>
<script>$(".click").compand();</script>
</body>
</html>
и вот мой js-файл, содержащий плагин jQuery, определяющий функцию compand ().
(function( $ ){
$.fn.compand = function(){
return this.click(function() {
alert('item id: '+this.id);
$("#"+this.id+"text").toggle("slow");
});
};
})(jQuery);
Что еще удивляет меня, так это то, что вместо файла .js у меня есть следующий код, встроенный в html-файл между тегами ... он хорошо работает как в Firefox, так и в IE8. Вот сценарий:
<script>
$('.click').click(function() {
// get id of the clicked item
alert('id clicked: ' + this.id);
$("#"+this.id+"text").toggle('slow',
function() {
alert('Animation complete.');
});
});
</script>
Мне нужно, чтобы эта функция была плагином jQuery, чтобы я не копировал приведенный выше код на нескольких html-страницах. Спасибо за чтение до сих пор! Любые указатели приветствуются.