php
1<script> 2(function ($) { 3 $(function () { 4 $("a[data-target]").on("click", function () { 5 var target = $(this).attr("data-target"); 6 7 $("html, body").animate({ 8 scrollTop : $("a[name="+ target +"]").offset().top - $(".header_outer").height() - 20, 9 }); 10 }); 11 }); 12})(jQuery); 13</script> 14 <div class="index"> 15 <?php 16 global $wpdb; 17 18 $keys = range('A', 'Z'); 19 20 print('<ul class="alphabets">'); 21 22 foreach($keys as $key) { 23 print('<li><a href="javascript:;" data-target="anchor_'. $key .'">'. $key .'</a></li>'); 24 } 25 26 print('<li><a href="javascript:;" data-target="anchor_0">数字</a></li>'); 27 print('</ul>'); 28 29 foreach($keys as $key) { 30 print('<h2><strong><a id="anchor_'. $key .'">'. $key .'</a></strong></h2>'); 31 print('<ul>'); 32 33 $posts = $wpdb->get_results('SELECT ID, post_title FROM '. $wpdb->posts .' WHERE post_type = \'post\' AND REPLACE(post_title, \'The \', \'\') LIKE \''. $key .'%\' ORDER BY REPLACE(post_title, \'The \', \'\') ASC'); 34 35 foreach($posts as $post) { 36 print('<li><a target="_blank" href="'. get_permalink($post->ID) .'">'. $post->post_title .'</a></li>'); 37 } 38 39 print('</ul>'); 40 } 41 42 print('<h2><strong><a id="anchor_0">数字</a></strong></h2>'); 43 print('<ul>'); 44 45 $posts = $wpdb->get_results('SELECT ID, post_title FROM '. $wpdb->posts .' WHERE post_type = \'post\' AND post_title REGEXP \'^[0-9]\' ORDER BY post_title ASC'); 46 47 foreach($posts as $post) { 48 print('<li><a target="_blank" href="'. get_permalink($post->ID) .'">'. $post->post_title .'</a></li>'); 49 } 50 51 print('</ul>'); 52 ?> 53 </div> 54 55 56 </div><!-- .article-body --> 57 </div><!-- .article_wrap --> 58 59 <?php 60 wp_link_pages( array( 61 'before' => '<div class="page-nav"><ol><li>', 62 'after' => '</li></ol></div>', 63 'separator' => '</li><li>' 64 ) ); 65 ?> 66 67 68 </article><!-- #post-## --> 69 70 71 <?php endwhile; // End of the loop. 72 ?> 73 <aside class="free-area free-area_after-cont"> 74 <?php dynamic_sidebar( 'free-after-single' ); ?> 75 </aside><!-- #secondary --> 76 </main> 77</div> 78<div class="side"> 79<aside id="secondary" class=""> 80 <?php dynamic_sidebar( 'suk-sidebar' ); ?> 81</aside><!-- #secondary --> 82 83</div> 84</div> 85</div>
このコードで下記のようなエラーが出ます。
どのあたりがおかしいのかわからないのですが、誰かたすけてください。。
(index):16 Uncaught TypeError: Cannot read property 'top' of undefined
at HTMLAnchorElement.<anonymous> ((index):16)
見た感じphpのエラーではないですよ。
どこでそのエラーを確認しましたか?
Web ブラウザのデベロッパーツールでのエラーでしょうか?
(index):16 なので、Webブラウザで表示された行の16行目です。
16行目は、どこになりますか?
はい。Chromeのデベロッパーツールです。
16行目には、下記コードの、
____________________________________________
<script>(function ($) {
$(function () {
$("a[data-target]").on("click", function () {
var target = $(this).attr("data-target");
$("html, body").animate({
scrollTop : $("a[name="+ target +"]").offset().top - $(".header_outer").height() - 20,
});
});
});
})(jQuery);</script>
____________________________________________
scrollTop : $("a[name="+ target +"]").offset().top - $(".header_outer").height() - 20,
上記部分が16行目でした。
よろしくお願いいたします。
target に 何が入っているかわかりませんが、 a[name="+ target +"] でアクセスするオブジェクトは存在していますか?
あなたの回答
tips
プレビュー