私は次のHTMLを持っています:
<a href="#" id="#1" class="pagerlink" >link</a>
<a href="#" id="#3" class="pagerlink" >link</a>
<a href="#" id="#2" class="pagerlink" >link</a>
/*etc.... */
および次のjQueryスクリプト:
$(document).ready(function() {
var $container = $('.gallery_r').cycle({
fx: 'scrollHorz',
speed: 500,
timeout: 0
});
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id);
return false;
});
});
「pagerlink」リンクコントロールはjQuery Cycleスライドショーにあります。この行を入れ替えると:
$container.cycle(id);
このため
$container.cycle(7);
動作します...(明らかに、スライド番号7に移動するだけです)。だから、私の質問は、クリックされているリンクのIDを取得してその行に渡すにはどうすればよいですか?
前もって感謝します!
あなたのIDは#1
であり、cycle
は単に数字が渡されることを望んでいます。 cycle
を呼び出す前に、#
を削除する必要があります。
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id.replace('#', ''));
return false;
});
また、IDには#
文字を含めるべきではなく、無効です(数値IDも無効です)。 IDをpager_1
のようなものに変更することをお勧めします。
<a href="#" id="pager_1" class="pagerlink" >link</a>
$('a.pagerlink').click(function() {
var id = $(this).attr('id');
$container.cycle(id.replace('pager_', ''));
return false;
});
ハッシュを先頭から削除するだけです。
$('a.pagerlink').click(function() {
var id = $(this).attr('id').substring(1);
$container.cycle(id);
return false;
});
IDは#1、#2などとして渡されます。ただし、#はIDとして無効です(CSSセレクターはIDに#をプレフィックスします)。
まず、HTML5 DOCTYPEを使用している場合を除き、IDに番号を付けることはできません。次に、各IDの#を削除するか、これで置き換える必要があります。
$container.cycle(id.replace('#',''));