縦スクロールで下記のとおりに記事が入れ代わりで表示される機能を実装と考えています。
- 記事①を下からスクロールで表示
- 記事①を上へスクロールして非表示、記事②を下からスクロールで表示
- 記事②を上へスクロールして非表示、記事③を下からスクロールで表示
しかしながら、現状のコードだと記事①と②が同時にスクロールで表示、非表示されます。
原因がわからず、ご意見をいただきたいです。
Code
local.js
js
1(function ($) { 2 $(document).ready(function () { 3 slide_default_num = /*1*/ 0; // 画面初期表示時に表示するスライド番号 4 slide_star_num = /*2*/ 0; // スライドショー開始番号 5 slide_end_num = 3; // スライドショー終了番号 6 init(); 7 }); 8 9 function init() { 10 // すべての記事を非表示 11 $('.list-topics li').hide(); 12 // 1番目の記事を表示 13 $('.list-topics li').eq(slide_default_num).show(); 14 main(); // ← mainを実行するよう追加 15 } 16 17 /** 18 * メイン処理 19 **/ 20 function main() { 21 // 各項目 22 $('.list-topics li').hide(); // すべての画像を非表示 23 $('.list-topics li').eq(slide_star_num).show(); //最初の画像を表示 24 25 // 画像の縦スクロール 26 scroll_up(); 27 scroll_up2(); 28 slide_star_num = 1; 29 $('.list-topics li').eq(slide_star_num).show(); 30 scroll_up(); 31 scroll_up2(); 32 // 次の画像を設定 33 $('.list-topics li').eq(slide_star_num).show(); 34 slide_star_num = 2; 35 scroll_up(); 36 } 37 38 /** 39 * 画像の縦スクロール 40 * 41 **/ 42 var scroll_y = 0; 43 44 function scroll_up() { 45 $('.list-topics li') 46 .eq(slide_star_num) 47 .css({ 48 top: '200px' 49 }) 50 .animate({ 51 top: 0 52 }, 2000); 53 } 54 function scroll_up2() { 55 $('.list-topics li') 56 .eq(slide_star_num) 57 .delay(1500) 58 .css({ 59 top: '0' 60 }) 61 .animate({ 62 top: '-200px' 63 }, 2000); /* ! */ 64 } 65})(jQuery);
index.php
php
1<?php $args = array( 2 'post_type' => 'news', // 投稿タイプ 3 'posts_per_page' => 3, // 表示件数。 -1ならすべての投稿を取得 4 'order' => 'DESC'); // 降順(日付の場合、日付が新しい順)?> 5<?php $loop = new WP_Query($args);?> 6 7<?php if ($loop->have_posts()) : ?> 8 <ul class="list-topics"> 9<?php while ($loop->have_posts()) : $loop->the_post(); ?> 10 <li id="slides"><time datetime="<?php esc_html(the_time('Y-m-d')); ?>"><?php esc_html(the_time('Y.m.d')); ?></time><a href="<?php esc_url(the_permalink()); ?>"><?php esc_html(the_title()); ?></a></li> 11<?php endwhile; ?> 12 </ul> 13 14<?php endif; ?><?php wp_reset_postdata();?> 15</div></div>
style.css
css
1#page-home #main .sec-topics .sec-in-s .list-topics { 2 overflow: hidden; 3} 4#slides { 5 margin: 0 auto; 6 padding: 32px 32px 32px 32px; 7 align-items: center; 8 position: relative; 9}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。