让我踩坑的超链接href属性

让我踩坑的超链接href属性

实习第三个月,最近重温Vue框架——开发被迫前端,我都快深度怀疑自己了,自己写案例,对照源码对比,我硬是觉得明明都一样,为啥偏我的不行,然后通过实验,发现了是href属性这个小妖精在作祟。

实例

是打算写一个图片更换的例子,第一张图左箭头消失,最后一张右箭头消失,其余均能实现正常图片左右切换。

基本代码

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>事件绑定</title>
    <script type="text/javascript" src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <a href="" @click="prev" v-show="index==0?false:true"><img src="img/翻页1.png" alt=""></a>
    <img width="1000px" :src="url[index]" alt=""/>
    <a href="" @click="next" v-show="index==6?false:true"><img src="img/翻页2.png" alt=""></a>
</div>
<script>
    new Vue({
        el:'#app',
        data:{
            url:[
                "img/1.png", "img/2.png",
                "img/3.png", "img/4.png",
                "img/5.png", "img/6.png",
                "img/7.png"
            ],
            index:0
        },
        methods:{
            prev:function () {
                this.index--;
            },
            next:function () {
                this.index++;
            }
        }
    })
</script>
</body>
</html>

分析

  1. 图片显示:将要切换的图片资源放在数组中,通过v-bind——可简写为:属性与img图片标签的src属性绑定
  2. 左右切换:用超链接标签包裹左右箭头的图片,用v-show来确定该箭头是否显示,源码中index==0?false:true/index==6?false:true该部分可替换为index>0/index<6
  3. 事件绑定:给左右箭头添加单击事件修改数组下标值从而达到切换资源的目的

问题

至此,基本功能已经基本实现,然后切换时,如基本代码所示,a标签中添加了href属性,但值为空,<a href=""></a>切换图片时会一闪而过,一直停留在当前图片,无法切换。原因其实是,值为空时默认刷新了。

当href属性值为#时,<a href="#"></a>图片能正常切换,但如果在div前加上多行<br>,就可以发现,每切换一张图片,都是默认回到顶端,往下滑动才能看到图片。此时#的作用是锚点,#自定义位置名能够指定跳转到某一位置。

当href属性值为javascript:;/javascript:void(0);时,<a href="javascript:void(0);"></a>图片能正常切换,页面不需要移动(上下滑动,如果有多个空行)。此时,它与<a></a>效果一致,禁用掉了href属性,仅仅作为一个占位符使用。

总结

  1. <a href=""></a>,href属性为空,点击超链接会默认刷新
  2. <a> </a>标签是超链接,但是没有 href 属性,它仅仅是超链接的一个占位符。
  3. <a href="#"></a>,href属性值为#,则表示的该标签作用是定位,#包含了一个位置信息,默认的锚在页面的顶端
  4. <a href="javascript:void(0);"></a>,href的这一串属性值表示禁用掉了该属性,不进行资源的跳转与访问,仅作为普通标签使用
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值