ページをリロードせずにタブを切り替えるために、サイトに次の jQuery スクリプトがあります。jQueryコアv1.3.2を使用しています(jQuery UIではありません)
<!-- JS -->
<script type="text/javascript">
$(function() {
var tabify = function () {
var id = $('#content > div').hide().attr('aria-hidden', 'true').filter(window.location.hash || ':first').show().attr('aria-hidden', 'false').attr('id');
$('#content > ul > li').removeClass('selected').find('a[href=#' + id + ']').parent().addClass('selected');
}
setInterval(tabify, 100);
tabify();
});
</script>
<!-- HTML -->
<div id="content">
<ul>
<li><a href="#blog" role="tab">Blog</a></li>
<li><a href="#videos" role="tab">Videos</a></li>
<li><a href="#photos" role="tab">Photos</a></li>
</ul>
<div id="blog" role="tabpanel" aria-labelledby="tab1" aria-hidden="false">Blog Content</div>
<div id="videos" role="tabpanel" aria-labelledby="tab2" aria-hidden="true">Videos Content</div>
<div id="photos" role="tabpanel" aria-labelledby="tab3" aria-hidden="true">Photos Content</div>
</div>
このスクリプトの別のインスタンスを同じページに追加したいのですが、これを別の変数名でコピー/貼り付けするだけではうまくいきません。何か案は?
編集:これが 2 番目のインスタンスの HTML と JS です。問題は、2 番目のインスタンスでタブをクリックすると、最初のインスタンスのすべてのコンテンツ div が非表示になり、その逆も同様です。私はそれらが互いに独立していることを望んでいます。
<!-- JS -->
<script type="text/javascript">
$(function() {
var tabifyplayer = function () {
var idplayer = $('#discography > div').hide().attr('aria-hidden', 'true').filter(window.location.hash || ':first').show().attr('aria-hidden', 'false').attr('idplayer');
$('#discography > ul > li').removeClass('selected').find('a[href=#' + idplayer + ']').parent().addClass('selected');
}
setInterval(tabifyplayer, 100);
tabifyplayer();
});
</script>
<!-- HTML -->
<div id="discography">
<ul>
<li><a href="#cor-player" role="tab">Chance of Rain (2009)</a></li>
<li><a href="#debutcd-player" role="tab">Debut CD (2007)</a></li>
</ul>
<div id="cor-player" role="tabpanel" aria-labelledby="tab1" aria-hidden="false">Content Goes Here</div>
<div id="debutcd-player" role="tabpanel" aria-labelledby="tab2" aria-hidden="true">Content Goes Here</div>
</div>