javascript - jQuery, on click scroll window down to top of the div - Stack Overflow

I'm trying to make my browser window scroll down to the top of a div when clicked. The only proble

I'm trying to make my browser window scroll down to the top of a div when clicked. The only problem is everything else works but that, the window should scroll down to the top of the div clicked...

So far I have:

$('.work-showcase').click(function(){
    $('.work-showcase').animate({height:'135px'}, 500);
    $(this).animate({height:'400px'}, 500);
    $(window).scrollTop;
});

I've made a jsfiddle to show you what I mean... /

I'm trying to make my browser window scroll down to the top of a div when clicked. The only problem is everything else works but that, the window should scroll down to the top of the div clicked...

So far I have:

$('.work-showcase').click(function(){
    $('.work-showcase').animate({height:'135px'}, 500);
    $(this).animate({height:'400px'}, 500);
    $(window).scrollTop;
});

I've made a jsfiddle to show you what I mean... http://jsfiddle/Jq4Vw/

Share Improve this question edited May 8, 2015 at 16:42 Pixelomo 6,7374 gold badges48 silver badges62 bronze badges asked Jan 8, 2013 at 11:29 LiamLiam 9,85540 gold badges114 silver badges214 bronze badges 4
  • 2 What are you expecting to happen with $(window).scrollTop? – Alex Gill Commented Jan 8, 2013 at 11:32
  • animating same element two times???????? – Jai Commented Jan 8, 2013 at 11:35
  • @Alex $(window).scrollTop() – Talha Akbar Commented Jan 8, 2013 at 11:53
  • 1 loooooooolllllllllllllllll – Alex Gill Commented Jan 8, 2013 at 11:54
Add a ment  | 

5 Answers 5

Reset to default 8

This is how you scroll to the top of the div as long as the window isn't maxed out:

$('.work-showcase').click(function(){

    $('html,body').animate({
        scrollTop: $(this).offset().top},
        'slow');
});

I am unsure what you were trying to achieve before scrolling

See it here jsFiddle

I think you are trying to achieve this: http://jsfiddle/Jq4Vw/7/

$('.work-showcase').click(function(){
   $('.work-showcase').animate({height:'135px'}, 500);
   $(this).animate({height:'400px'}, 500).promise().done(function(){
       $('html,body').animate({scrollTop: $(this).offset().top},500);
       $(this).addClass('current').unbind('click'); // just add this line
   });
});

Try this:

$('.work-showcase').click(function(){
    $('.work-showcase').animate({height:'135px'}, 500);
    $(this).animate({height:'400px'}, 500);
    $("html, body").animate({ scrollTop: $(this).offset().top }, 500);
});

See this: http://jsfiddle/Jq4Vw/4/

$('.work-showcase').click(function(){
   $('.work-showcase').animate({height:'135px'}, 500);
  $(this).animate({height:'400px'}, 500,function() {  
  $("html, body").animate({ scrollTop: $(this).offset().top });  
   });
 });
$('.work-showcase').click(function(){
    window.location = "#top";
});

make sure top ID is present.

<div id="top">
I am at the top of the document.
</div>

Working Fiddle

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1740246271a4215257.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信