0

我的页面上有许多链接,它们调用一些 jquery 代码来打开视频。页面上的链接列表可能会很长。当有人点击链接时,我希望它能够将您定位到视频打开的页面部分 ( <div id="player">)。我认为投入<a href="#player"...会奏效。我错过了什么?

<div id="player"></div>
<a href="#player" onclick="DoNav('<?php echo $url; ?>');"> <?php echo $result_videos[$i]["camera_name"]; ?> </a>

<script type="text/javascript">
function DoNav(theUrl)
{
  // only add the player if it doesn't yet exist
  if($('#myfileplayer').length == 0) {
    var mydiv = $("#player");
    var myvideo = $("<video id='myfileplayer' src='"+ theUrl + "' width='320' height='240' controls></video>");
    mydiv.append(myvideo);
  } else {
    $('#myfileplayer').attr("src",theUrl); 
  }

} 
</script>

上面的代码有点适用于视频的第一次点击,尽管它会将您定位在视频播放器下方而不是顶部。第二次我在链接列表中单击一个,它根本没有做任何事情。

我还尝试<a name="blah"></a>在 div 上方添加(即 html4),然后将 href 更改为:<a href="#blah"...。那也行不通。

4

1 回答 1

0

如果我理解正确,您希望您的窗口在单击链接时滚动到 div#player 顶部?

然后您可以在打开视频时通过 jQuery 执行此操作

这样的事情应该可以解决问题:

$("yourLinkSelector").live('click', function(evnt){
    evnt.preventDefault();
    $('html, body').animate({scrollTop:$("div#player").offset().top - 50}, "slow");
    //then your code to open the video
});
于 2012-07-10T18:09:25.277 回答