Я создал небольшой пример для вас, который должен объяснить, как вы можете исправить это.
<script type="text/javascript">
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if (results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(function () {
$('a').click(function (event) {
var thisHash = document.location.hash;
$('body').animate({ scrollTop: $(thisHash).offset().top }, function () {
if (getParameterByName('neat') != null) {
alert('I will play video ' + getParameterByName('neat'));
}
});
});
});
</script>
Html:
<a href='?neat=one#end'>Go</a>
<p id='end'>Imagine this is a panel you are going to in your example.</p>
В приведенном выше коде сначала есть функция getParameterByName, которая выглядитв ваш URL, чтобы найти пары значений строки запроса.и если он не равен NULL, он возвращает свое значение.
в разделе ниже, который ... представьте, что якорный тег - это ваша навигация, и я щелкнул по нему, затем страница анимируется в правильном разделе хеша.После завершения анимации в разделе обратного вызова запрашивается значение строки запроса.если вы установили значение «аккуратно», тогда ваш код для воспроизведения видео должен находиться там, где сейчас предупреждение.