2016-06-13 45 views
0

我有页面,我必须播放某些与文本相关的音频文件,以及何时播放相关的音频文件,那么相关文本应该是高亮显示的。我面临的问题是,我需要保持突出显示的div可见的原因。我不知道如何自动向下滚动页面以保持突出显示的div可见,以便他可以阅读它。根据页面上哪个突出显示的div自动向下滚动

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> 

我尝试下面的代码,但这不工作

$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

我已经开始探索使用'var x = $(“。playing”)。position();' 'x.top'的选项,我将比较'x.top'窗口的高度和窗口向下滚动。我认为这应该工作 – Learning

+0

这可能会帮助你:http://stackoverflow.com/questions/6677035/jquery-scroll-to-element –

回答

1

添加以下后var x = $(".playing").position();

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

Here is your updated code

+0

我用下面的代码\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 如果(curentSpanPosition> wHalfHeight) \t { \t $( 'HTML,身体')动画({ scrollTop的:curentSpanPosition },1000)。 \t}' – Learning