react加锚点

news/2024/7/15 17:13:36 标签: react.js, javascript

实现锚点滚动,不要使用<a>标签,会引发路由跳转。

我们使用H5的新增API,scrollToAnchor

以前使用<a>标签的方法

<button onClick={() => this.scrollToAnchor(name)}></button>    //定义锚点

<div id='activity1'></div>   //跳转到的锚点

//函数定义
scrollToAnchor = (anchorName) => {
    if (anchorName) {
        // 找到锚点
        let anchorElement = document.getElementById(anchorName);
        // 如果对应id的锚点存在,就跳转到锚点
        if(anchorElement) { anchorElement.scrollIntoView({block: 'start', behavior: 'smooth'}); }
    }
}

block: 表示滚动到锚点的顶部或者底部,start/end

behavior: 表示滚动的效果,auto/instant/smooth(滚动效果)

1. 将锚点用传统的name属性,改成id属性。这样我们就可以用document.getElementById方法方便的查询查询到锚点。

2. 将原来的红色按钮的href属性去掉,然后添加一个onClick方法。onClick方法传入一个锚点的id,然后用下面的函数来找到锚点并跳转到锚点。

 


http://www.niftyadmin.cn/n/776138.html

相关文章

docker部署报no space left on device

docker images docker ps -a docker system df docker system prune -a

IDEA社区版下载

1. 进入网站&#xff1a; https://www.jetbrains.com/idea/download/#sectionwindows 2.下载社区版 3.选择exe进行安装 4. 点击安装到结束即可。

安装ftp的一些操作

1.安装准备 首先要看看自己服务器有没有打开20,21端口.&#xff08;可以去阿里云控制台&#xff0c;找到安全组策略来打开20,21端口&#xff09; 21端口用于连接&#xff0c;20端口用于传输数据2.安装vsftpd&#xff0c;直接yum 安装就可以了 yum install -y vsftpd出现下图表示…

linux上部署Nginx

1.安装准备 Find -name nginx 安装之前&#xff0c;最好检查一下是否已经安装有nginx yum remove nginx 如果系统已经安装了nginx&#xff0c;那么就先卸载 2.安装依赖g、gcc、openssl-devel、pcre-devel和zlib-deve yum -y install gcc gcc-c yum -y install pcre pcre-de…

Redis之安装流程

1.下载&#xff0c;提取和编译Redis&#xff1a; wget http://download.redis.io/releases/redis-4.0.9.tar.gz tar xzf redis-4.0.9.tar.gz cd redis-4.0.9 make make 可能会安装报错&#xff1a;make[1]: *** [adlist.o] 错误 因为Redis是C实现的&#xff0c;需要gcc来进行…

微信商户 h5支付详解

1.准备工作 appid公众账号、mch_id商户号、parentKey商户号支付秘钥 pom.xml 导入 <dependency><groupId>com.github.wxpay</groupId><artifactId>wxpay-sdk</artifactId><version>0.0.3</version> </dependency> 2.注意事项以…

微信JS-SDK实现 自定义微信分享、分享朋友圈等内容

1.准备工作 appId公众号id、申请好分享接口、ip白名单设置、JS接口安全域名 设置&#xff08;必须是通过备案的&#xff09; 2.引入js <script src"http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 3.通过config接口注入权限验证配置wx.conf…

java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

Spring Cloud 中的服务启动时出现的异常&#xff1a; 可能是RequestParam(“userId”) String userId 中的扩号 加里面的参数名忘记写了&#xff01;低级错误