Ссылка html для перехода к началу страницы

87
8

У меня есть несколько ссылок на моей странице, которые вызывают некоторый код 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>

Код выше kinda работает для первого щелчка видео, хотя он позиционирует вас под видеопроигрывателем, а не сверху. Во второй раз, когда я перехожу по списку ссылок и нажимаю один, он вообще ничего не делает.

Я также попробовал добавить <a name="blah"></a> (то есть html4) над div, а затем изменить href на: <a href="#blah"... Это тоже не работает.

спросил(а) 2021-01-19T12:02:27+03:00 2 месяца, 3 недели назад
1
Решение
75

Если я правильно понял, вы хотите, чтобы ваше окно было прокручено до верхнего уровня игрока div, когда нажимается ссылка?

Затем вы можете сделать это через 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
});

ответил(а) 2021-01-19T12:02:27+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема