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>

上記のコードは、ビデオの最初のクリックで機能しますが、ビデオプレーヤーの上ではなく下に配置されます。2回目にリンクのリストを下に移動してクリックすると、何も実行されません。

<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 に答える