1

ページが上にスクロールしないようにしています。さらに、私は e.preventDefault(); でそれをやりたいです。または false を返します。(したがって、他のボディタグソリューションは良くありません)しかし、これらを無視しているようです..

(.スライドショーのフェードインとフェードアウトは正常に動作します。)

ただし、(私が思うに) after: onAfter 関数の後にページが一番上にスクロールします。これを防ぐにはどうすればよいですか?

コメントされた return false と e.preventDefault は、動作していないように見えます..

前もって感謝します。

       if ($('.slideshow').length) {
    $('.slideshow').cycle({
        fx: 'scrollHorz',
        speed: 'fast',
        timeout: 0,
        prev: '#prev',
        next: '#next',
        nowrap: 1,
        before: onBefore,
        after: onAfter,
        pager: '#slide-pager ul',
        pagerAnchorBuilder: function (idx, slide) {
            // return selector string for existing anchor 

            return '#slide-pager ul li:eq(' + idx + ') a';
        },
        onPrevNextEvent: function (dir, id, el) {
            if (dir === true) {
                //alert('slide right');
                if (id >= 3) {
                    //alert(i);
                    $('#slide-pager_next').click();
                }
            }
            else {
                //alert('slide left');
                if (id >= 1) {
                    //alert(i);
                    $('#slide-pager_prev').click();
                    return false;
                }
            }
        }
    });
};

function onBefore() {
    //e.preventDefault(); // same thing as above
    $(".chapter-content .slideshow").fadeOut("fast");
    // return false; // prevent default click action from happening!
}
function onAfter() {
    // return false; // prevent default click action from happening!
    //e.preventDefault(); // same thing as above
    $(".chapter-content .slideshow").fadeIn("100");
    // return false; // prevent default click action from happening!
}
4

1 に答える 1

0

私はあなたのデモを見ることができません、私は誤解されるかもしれませんが、これを試してください:

function onBefore() {
  if ( !$('.slideshow').is(':animated') ) {
    $(".chapter-content .slideshow").fadeOut("fast");
  }
}
function onAfter() {
  if ( !$('.slideshow').is(':animated') ) {
    $(".chapter-content .slideshow").fadeIn("100");
  }
}
于 2012-07-05T07:34:37.127 に答える