2017-10-22 6 views
0

Ich habe 3 divs und ich möchte nach der Seite lädt Verzögerung 0,5 dann scrollen Sie zu zweiten div Verzögerung 0,5 dann scrollen Sie zum 3. div. aber mein Problem ist, ich es nicht Autoscroll einem der divs bekommenOnload animieren und verzögern

<div id="mydiv">Content</div> 
<div id="mydiv2">Content2</div> 
<div id="mydiv3">Content3</div> 


$(window).on('load', function() { 
$('html, body').animate({ 
     scrollTop: $("#myDiv2").offset().top 
    }, 2000); 

$('html, body').animate({ 
     scrollTop: $("#myDiv3").offset().top 
    }, 3000); 

}); 

Antwort

0

Sieht aus wie Sie nur eine haben Tippfehler. Sie hatten $ ("# myDiv2") vs $ ("# mydiv2"). Verwenden Sie stattdessen $ (document) .ready().

$(document).ready(function(){ 

    $('html, body').animate({ 
     scrollTop: $("#mydiv2").offset().top 
    }, 2000); 

    $('html, body').animate({ 
     scrollTop: $("#mydiv3").offset().top 
    }, 3000); 

}); 

jsFiddler

+0

danke @Nick Cordova gibt es eine Möglichkeit, wie 0,5 Sekunden zu verzögern? – RickyBobby

+0

Ja, $ ('html, body') .verzögerung (500) .animate ({ scrollTop: $ ("# mydiv3"). Offset(). Top }, 3000); –

0

Sie Onload-Ereignis ist nicht gültig versuchen, diese universelle onload von JQuery:

$(document).ready(function() { ... add you code here ... }); 
0

Ihr Problem ist in Ihrem HTML. Deine divs sind mydiv mit einem Kleinbuchstaben 'D', aber du verweise auf #myDiv mit einem Großbuchstaben 'D'.

+0

Sie müssen aber auch $ (document) .ready() verwenden und versuchen, .delay (500) am Ende Ihrer animierten Funktionen hinzuzufügen: $ ('html, body'). Animate ({ scrollTop: $ ("# myDiv3"). offset(). top }, 3000) .delay (500); }); –