AngularJs锚点监听

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>AngularJS 路由和多视图</title>  
    <style>  
        body {  
            padding: 0;  
            margin: 0;  
            background-color: #F7F7F7;  
            font-family: Arial;  
        }  
  
        .wrapper {  
            width: 980px;  
            margin: 50px auto;  
        }  
  
        ul {  
            padding: 0;  
            margin: 0;  
            overflow: hidden;  
            list-style: none;  
            background-color: #000;  
            border-radius: 4px;  
        }  
  
        li {  
            float: left;  
            width: 120px;  
            height: 40px;  
            text-align: center;  
            line-height: 40px;  
            font-size: 18px;  
        }  
  
        li.active {  
            background-color: #333;  
        }  
  
        li a {  
            display: block;  
            color: #FFF;  
            text-decoration: none;  
        }  
  
        .content {  
            margin-top: 30px;  
            font-size: 24px;  
            padding: 0 20px;  
        }  
    </style>  
</head>  
<body>  
    <div class="wrapper">  
        <!-- 导航菜单 -->  
        <ul>  
            <li class="active">  
                <a href="#index">Index</a>  
            </li>  
            <li>  
                <a href="#introduce">Introduce</a>  
            </li>  
            <li>  
                <a href="#contact">Contact Us</a>  
            </li>  
        </ul>  
        <!-- 内容 -->  
        <div class="content">  
            Index Page  
        </div>  
    </div>  
    <script>  
  
        // 监听锚点变化然后发送请求  
        // hashchange事件可以监听锚点变化  
        window.addEventListener('hashchange', function () {  
              
            var hash = location.hash;// 获取锚点 #index..  
          
            hash = hash.slice(1); // 锚点截取 index..  
  
            var xhr = new XMLHttpRequest;  
  
            // 将锚点做为参数传递给服务端进处理  
            xhr.open('get', '10-01.php?hash=' + hash);  
  
            xhr.send(null);  
  
            xhr.onreadystatechange = function () {  
                if(xhr.readyState == 4 && xhr.status == 200) {  
                    var result = xhr.responseText;  
                    // 将返回结果添加到页面  
                    document.querySelector('.content').innerHTML = result;  
                }  
            }  
        });  
  
    </script>  
</body>  
</html>  

scroll-view 可以通过使用 scroll-into-view 属性来监听锚点。具体而言,通过设置 scroll-into-view 的值为需要监听锚点的 id,scroll-view 将会滚动到对应 id 的位置。 另外,可以使用 bindscroll 事件来监听 scroll-view 滚动位置,通过判断标签内容区域距离页面顶部的距离,可以确定顶部的标签应该处于哪个标签。 这样就可以实现对锚点监听。注意,如果数据是动态的,需要在数据更新后更新组件的数据,以确保组件位置的准确性。可以在 ready 方法进行位置的计算,或者通过监听某个参数来重新渲染组件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [微信小程序---scroll-view根据锚点滚动相应楼层展示(已经封装成组件,需要的下载)](https://blog.csdn.net/weixin_43452154/article/details/128093960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [微信小程序实现锚点跳转](https://download.csdn.net/download/weixin_38608189/14900914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值