javascript - 为什么我的 onclick 功能不适用于滚动到目标元素?
问题描述
href?navito=contact
成功并可以添加我的contact.php
文件,但该onclick
功能无法滚动到投资组合 ID。
php代码:
<?php
$nav = filter_input(INPUT_GET, 'navito');
if (!isset($nav)) {
$nav = 'home';
}
?>
<div>
<a class="page-scroll" href="?navito=contact" onclick ="down()">Contact</a>
</div>
<section id="portfolio" class="bg-light-gray">
<?php
switch ($nav) {
case 'home':
include_once 'View/home.php';
break;
case 'contact':
include_once 'View/contact.php';
break;
default:
include_once 'View/home.php';
break;
}
?>
</section>
JS代码:
function down(){
var x= document.getElementById("portfolio");
x.scrollIntoView();
}
解决方案
该onclick
函数始终在导航到 中的地址之前href
执行。此外,此导航将导致页面完全重新加载。由于该函数down()
已在第一步中执行,因此在新重新加载的页面上将不会显示该函数曾经执行过的迹象。
我的建议是设置down()
在页面加载后立即执行的功能。
function down() {
...
}
window.onload = down;
推荐阅读
- reactjs - react-router:在 url 更新程序之后不渲染组件
- javascript - 创建自定义错误超类是否正确?
- typescript - Firebase:如何使用 UserCredential 重新进行身份验证
- wordpress - Apache 内存不足并以 1GB 的 RAM 重新启动
- google-app-maker - 从 appmaker 中的全名目录获取电子邮件地址
- java - 混淆 Java 蚂蚁大战
- xampp - 如何修复 xampp apache 在 Windows 7 上复制 php_pthreads.dll 后无法运行
- android - java.lang.RuntimeException: 传递结果失败 ResultInfo{who=null, request=1, result=-1, data=Intent { }}
- c# - unity v2018.2.8f1,C#,武器切换通过将它们实例化为不同步的游戏对象,uNet
- html - 网站无法从我们公司的网络访问,但可以从外部访问