0

私はワードプレスのループを持っています。すべての記事にはクラス「.post」があります。すべての.postに「.skip」クラスのボタンがあります。ボタンをクリックすると、ループ内の次の .post にページがスクロールされるようにします。

私はこれを使用しています

$(function(){
    $(window).scroll(function(){
        $(".post").each(function(){
            var height = $(".post").height();
            var scroll = $(window).scrollTop();
            $(".skip").click(function(){
                $(window).scrollTop(scroll+height);
            });
        });
    });
});

何かが行われましたが、そうではありません!

つまり、クリックするとページがスクロールしますが、最初の .post の高さになります (.skip ボタンが属する .post に関係なく)

ヘルプ!

wp ループからの .post コンテナー

<article <?php post_class(); ?>>
    <div class="skip">skip</div>
    <?php if ( has_post_thumbnail()) :  ?>
        <div class="container">
            <div>
                <?php the_post_thumbnail(); ?>
            </div>
        <h2 class="post-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        </div>
    <?php else: ?> 
        <h2 class="post-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
    <?php endif; ?>
    <?php the_content(); ?>
    <a href="<?php the_permalink(); ?>" class="more">more</a>
</article>
4

2 に答える 2

1
$(function () {
    $(".skip").click(function () {
        var height = $(this).parent('article').height();
        var scroll = $(window).scrollTop();
        $(window).scrollTop(scroll + height);
    });
});
于 2013-08-26T16:25:39.117 に答える
0

これを試してみてください

$(function(){
    $(window).load(function(){
        $(".post .skip").click(function(){
            var height = $(this).parent(".post").height();
            var scroll = $(window).scrollTop();

            $(window).scrollTop(scroll+height);
        });
    });
});

クリック イベント コールバックの外で var "scroll" を初期化することはできませんが、これは 0 になります (最初のトップ スクロール: ページのトップ = 0)。

于 2013-08-26T16:35:14.593 に答える