0

現在、互いに影響を与える 2 つのスクリプトがあります。以下に示すスクリプトは、アンカーへのスムーズ スクロールを実行しています。私の 2 番目のスクリプトは、a href # アンカーを使用してライトボックス効果にリンクします。以下のスクリプトを変更して、href と # 以外のものを使用することはできますか?

Javascript

<script src="js/jquery.easing.1.3.js"></script>
<script>
$(function() {
var lengthDiv = $('.desktop').find('li').length;
var current = 0;
$('a').bind('click',function(event){

var $anchor = $(this);
current = $anchor.parent().index();

$('html, body').stop().animate({
    scrollTop: $($anchor.attr('href')).offset().top
}, 1500,'easeInOutExpo');
/*
if you don't want to use the easing effects:
$('html, body').stop().animate({
    scrollTop: $($anchor.attr('href')).offset().top
}, 1000);
*/
event.preventDefault();
});
$(document).keydown(function(e){e.preventDefault()})
$(document).keyup(function(e){
    var key = e.keyCode;
    if(key == 38 && current > 0){
        $('.desktop').children('li').eq(current - 1).children('a').trigger('click')
    }else if(key == 40 && current < lengthDiv){
        $('.desktop').children('li').eq(current + 1).children('a').trigger('click')
    }
})
});
</script>
4

1 に答える 1

0

あなたのライン

$('a').bind('click', function(){})

すべての「a」タグにクリックイベントを添付します。別の要素またはセレクターにアタッチする場合は、変更する必要があります。

$('a.scroll').bind('click', function(){})

例として。

于 2013-05-23T16:59:31.373 に答える