javascript - jQuery click to scroll to cloest div.class and show not working -
hi have ideas im doing wrong here?
when click show content want find closest div class ask , scroll not work... im new jquery maybe im doing wrong think logic correct haha
getting error in console:
cannot read property 'top' of undefined
example:
$(document).ready(function() { // show examples $(document).on("click", ".show-syntax", function(e) { var ele = $(this).parent().closest(".render-syntax"); // search within section ele.show(); $("html, body").animate({ scrolltop: $(ele).offset().top }, 100); e.preventdefault(); }); });
.render-syntax { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="container"> <a href="#" class="show-syntax">show content</a> </div> <div class="render-syntax"> <p>content show</p> </div> <div class="container"> <a href="#" class="show-syntax">show content</a> </div> <div class="render-syntax"> <p>content show</p> </div> <div class="container"> <a href="#" class="show-syntax">show content</a> </div> <div class="render-syntax"> <p>content show</p> </div>
closest
doesn’t go through siblings; next
job need. replacing closest
next
in code give proper behavior.
var ele = $(this).parent().next(".render-syntax");
otherwise ele
won’t have elements, ele.offset()
returns null
, there’s no top
property of null
, hence error.
Comments
Post a Comment