ページの水平コーダスライダーを使用して注目のコンテンツを表示していますが、これはほぼ適切に機能しています。私が抱えている唯一の問題は、ID(たとえば<a href="#top">Top</a>
)にリンクしているページ上の他のリンクをクリックすると、スライダーがアニメーション化することです。
この例をここで見ることができます-コーダスライダーのナビゲーションタブの1つをクリックしてから、右側のサイドバーの「callcreditnews」または「pressassociation」リンクをクリックしてみてください。あるいは、「ipsumdolor」リンクをクリックしてください。本体コピー。
ユーザー名: demo パスワード: demo
なぜそれがこれを行うのか誰かが知っていますか?jQueryは次のとおりです。
//CODA SLIDER
if ($('div#slider').length) {
var $panels = $('#slider .scrollContainer > div');
var $container = $('#slider .scrollContainer');
var horizontal = true;
if (horizontal) {
$panels.css({
'float' : 'left',
'position' : 'relative'
});
$container.css('width', $panels[0].offsetWidth * $panels.length);
}
var $scroll = $('#slider .scroll').css('overflow', 'hidden');
function selectNav() {
$(this)
.parents('#slider ul.navigation:first')
.find('a')
.removeClass('selected')
.end()
.end()
.addClass('selected');
}
$('#slider .navigation').find('a').click(selectNav);
function trigger(data) {
var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0);
selectNav.call(el);
}
if (window.location.hash == 'plan') {
trigger({ id : window.location.hash.substr(1) });
} else {
$('#slider ul.navigation a:first').click();
}
var offset = parseInt((horizontal ?
$container.css('paddingTop') :
$container.css('paddingLeft'))
|| 0) * -1;
var scrollOptions = {
target: $scroll,
items: $panels,
navigation: '#slider ul.navigation a',
axis: 'xy',
onAfter: trigger,
offset: offset,
duration: 800,
easing: 'swing'
};
$('#slider').serialScroll(scrollOptions);
$.localScroll(scrollOptions);
scrollOptions.duration = 1;
$.localScroll.hash(scrollOptions);
var $buttons = $('img.right').add('img.left').hide();
cycleTimer = setInterval(function () {
$scroll.trigger('next');
}, 10000);
var $stopTriggers = $('#slider .navigation').find('a')
.add('.scroll')
.add('.stopscroll')
.add('.navigation')
.add("a[href^='#']");
function stopCycle() {
clearInterval(cycleTimer);
}
$stopTriggers.bind('click.cycle', stopCycle);
var $startTriggers_start = $('#slider .navigation').find('a')
.add('.startscroll');
function startCycle() {
$buttons.hide();
$scroll.trigger('next');
cycleTimer = setInterval(function () {
$scroll.trigger('next');
}, 5000);
}
$startTriggers_start.bind('click.cycle', startCycle);
}
//END CODA SLIDER