2016-06-13 7 views
0

Ich habe Seite, wo ich bestimmte Audiodateien, die mit dem Text verwandt sind, und wenn verwandte Audiodatei wiedergegeben wird dann verwandten Text sollte Highlight sein. Problem, mit dem ich konfrontiert bin, ist, dass ich das markierte div für den Grund sichtbar halten muss. Ich bin nicht sicher, wie ich automatisch die Seite nach unten scrollen kann, um das markierte div sichtbar zu halten, damit er es lesen kann.Scrollen Sie automatisch nach unten auf dem markierten div auf einer Seite

JSBin Example

HTML

<audio id="myAudio"> 
    <source src="" type="audio/mpeg"> 
</audio> 
<button>Play Audio</button> 
<div class="wrapper"> 
    <span>Rooster</span> 
    <span>Cat</span> 
    <span>Horse</span> 
    <span>Elephant</span> 
    <span>Vulture</span> 
    <span>Duck</span> 
    <span>Rooster</span> 
    <span>Cat</span> 
    <span>Horse</span> 
    <span>Elephant</span> 
    <span>Vulture</span> 
    <span>Duck</span> 
    <span>Rooster</span> 
    <span>Cat</span> 
    <span>Horse</span> 
    <span>Elephant</span> 
    <span>Vulture</span> 
    <span>Duck</span> 
    <span>Rooster</span> 
    <span>Cat</span> 
    <span>Horse</span> 
    <span>Elephant</span> 
    <span>Vulture</span> 
    <span>Duck</span> 
</div> 

Ich versuchte folgenden Code, aber diese Arbeit nicht

$aud.onplay = function() { 
    $btn.text("Pause Audio"); 
    playing = true; 
    $("div > span:nth-child(" + (audioIndex + 1) + ")").addClass("playing"); 
    var wHeight = $(window).height(); 
    var wHalfHeight = wHeight; 
    var x = $(".playing").position(); 
    var curentSpanPosition = x.top(); 
    wHalfHeight = wHalfHeight/2; 

    //if (curentSpanPosition > wHalfHeight) 
    //{ 
    $(".playing").animate({ 
     scrollTop: curentSpanPosition 
    }); 
    //} 
    }; 
+0

Ich habe angefangen zu erkunden Option der Verwendung von 'var x = $ (". Playing "). Position();' 'x.top' Ich werde' x.top' Position mit Fenster, Höhe und vergleichen runterscrollen. Ich denke, das sollte funktionieren – Learning

+0

Das könnte Ihnen helfen: http://StackOverflow.com/Questions/6677035/Jquery-Scroll-ToElement –

Antwort

1

Fügen Sie folgende nach var x = $(".playing").position();:

$('html, body').animate({ 
     scrollTop: x.top 
}, 400); 

Here is your updated code

+0

Ich verwendete folgenden Code \t var wHeight = $ (window) .height(); \t 'var wHalfHeight = wHeight; \t var x = $ (". Playing"). Position(); \t var curentSpanPosition = x.top; \t wHalfHeight = wHalfHeight/2; \t \t if (curentSpanPosition> wHalfHeight) \t { \t $ ('html, body') animieren ({ scrollTop: curentSpanPosition }, 1000). \t} ' – Learning

Verwandte Themen