点击导航下拉跳转页面固定位置(锚链接)

点击导航下拉跳转页面固定位置(锚链接)

在导航页面文件夹里面新建anchor.js

//锚点跳转
function goAnchor(selector) {
    var anchor = this.$el.querySelector(selector);//获取元素
    if (anchor) {
        setTimeout(() => {//页面没有渲染完成时是无法滚动的,因此设置延迟
            anchor.scrollIntoView(); //js的内置方法,可滚动视图位置至元素位置
        }, 1000);
    }
};
//获取参数
function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
}

export {
    goAnchor,
    GetQueryString
}

点击页面

<ul>
              <router-link
                to="/product#baobaoxiang"
                href="#baobaoxiang"
              >
                <li>宝宝箱</li>
              </router-link>
              <router-link
                to="/product#xixinweiyang"
                href="#xixinweiyang"
              >
                <li>悉心喂养</li>
              </router-link>
              <router-link
                to="/product#tiexinhuli"
                href="#tiexinhuli"
              >
                <li>贴心护理</li>
              </router-link>
              <router-link
                to="/product#nuanxinfushi"
                href="#nuanxinfushi"
              >
                <li>暖心服饰</li>
              </router-link>
            </ul>

跳转页面
a标签就放在页面要跳转的位置

跳转页面a标签里面对应的id为点击页面的to后面的#后面的和href后面的
 <router-link  to="/product#nuanxinfushi"  href="#nuanxinfushi">
<a id="nuanxinfushi"></a>
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我大致给出一些思路和代码供参考。具体实现还需要根据您的具体需求做出相应的调整。 1. 实现下拉菜单的点击事件 在 `uniapp` 中,可以使用 `v-for` 指令渲染下拉菜单的选项,然后通过绑定 `@click` 事件来实现点击事件。代码如下: ```html <template> <view> <view class="dropdown" @click="toggleDropdown"> <text>下拉菜单</text> <view v-show="showDropdown" class="options"> <view v-for="(option, index) in options" :key="index" @click="handleClick(option)"> <text>{{ option.label }}</text> </view> </view> </view> </view> </template> <script> export default { data() { return { showDropdown: false, // 是否显示下拉菜单 options: [ { label: '选项一', value: 'option-1', path: '/pages/path1' }, { label: '选项二', value: 'option-2', path: '/pages/path2' }, { label: '选项三', value: 'option-3', path: '/pages/path3' }, ], }; }, methods: { toggleDropdown() { this.showDropdown = !this.showDropdown; }, handleClick(option) { // 处理选项的点击事件 console.log(option); uni.navigateTo({ url: option.path, }); }, }, }; </script> ``` 上述代码中,`options` 数组存储了下拉菜单的选项,包括每个选项的标签、值和对应的页面路径。在模板中使用 `v-for` 指令渲染出所有选项,并绑定 `@click` 事件来处理选项的点击事件。 2. 实现页面跳转 在选项的点击事件处理函数中,我们使用 `uni.navigateTo()` 方法来实现页面跳转。该方法接受一个参数 `url`,表示要跳转的页面路径。具体代码如下: ```js handleClick(option) { uni.navigateTo({ url: option.path, }); }, ``` 需要注意的是,`uni.navigateTo()` 方法只能用于跳转到非 tabBar 页面,如果要跳转到 tabBar 页面,需要使用 `uni.switchTab()` 方法。另外,还有一些其他的跳转方法,比如 `uni.redirectTo()`、`uni.reLaunch()` 等,具体可以参考官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值