关于有无javascript:void(0)

关于有无javascript:void(0)

html:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>加油</title>
 <link rel="stylesheet" type="text/css" href="css/ziji.css">
</head>
<body>
 <div class="main" id="main">
  <div class="banner" id="banner">
   <a href="">
    <div class="banner-slide slide-1 active"></div>
   </a>
   <a href="">
    <div class="banner-slide slide-2"></div>
   </a>
   <a href="">
    <div class="banner-slide slide-3"></div>
   </a>
  </div>
  <a href="" class="button prev" id="prev"></a>
  <a href="javascript:void(0)" class="button next" id="next"></a>
  <div class="dots" id="dots">
   <span class="active"></span>
   <span></span>
   <span></span>
  </div>
  <script src="js/ziji.js"></script>
 </div>
</body>
</html>

css:

*{
 padding:0;
 margin:0;
}

.main{
 height: 460px;
 width: 1200px;
 margin: 30px auto;
 overflow: hidden;
 position: relative;
}

.banner{
 height: 460px;
 width: 1200px;
 overflow: hidden;
 position: relative;
}

.banner-slide{
 height: 460px;
 width: 1200px;
 background-repeat: no-repeat;
 position: absolute;
 display: none;
}

.banner .active{
 display: block;
}

.slide-1{
 background-image:url("../images/bg1.jpg");      /*这里不能简写成background 因为简写会覆盖上面的background-repeat属性 然后这里又需要重新写*/
}

.slide-2{
 background-image:url("../images/bg2.jpg");      /*这里不能简写成background 因为简写会覆盖上面的background-repeat属性 然后这里又需要重新写*/
}

.slide-3{
 background-image:url("../images/bg3.jpg");      /*这里不能简写成background 因为简写会覆盖上面的background-repeat属性 然后这里又需要重新写*/
}

.button{
   height: 80px;
   width: 40px;
   position: absolute;
   left: 244px;
   top: 50%;
   margin-top:-40px;
   background: url("../images/arrow.png") no-repeat center center;
}

.button:hover{
 background-color:#333;
 opacity: 0.4;
}

.prev{
 transform: rotate(180deg);
}

.next{
 left: auto;
 right: 0px;
}

.dots{
 position: absolute;
 right: 0;
 bottom: 20px;
 margin-right: 10px;
}

.dots span{
 display: inline-block;
 height: 12px;
 width: 12px;
 border-radius: 50%;
 background-color: rgba(7,17,27,0.4);
 box-shadow: 0 0 0 2px rgba(255,255,255,0.8) inset;
 margin-right: 10px;
 cursor: pointer;
}

.dots span.active{
 background-color: rgba(255,255,255,0.8);
 box-shadow: 0 0 0 2px rgba(7,17,27,0.4) inset;
}

js:

function byId(id){
    return typeof(id)==="string"?document.getElementById(id):id;
}

var index=0,
    timer=null,
    pics=byId("banner").getElementsByTagName("div"),
    dots=byId("dots").getElementsByTagName("span"),
    prev=byId("prev"),
    next=byId("next"),
    len=pics.length;

    function slideImg(){
     var main=byId("main");
     main.onmouseover=function(){
          if(timer) clearInterval(timer);
  }
     main.onmouseout=function(){
   timer=setInterval(function(){
    index++;
    if (index>=len) {
     index=0;
    }
    //切换图片
    changeImg();
   },3000)
  }

  main.onmouseout();

  for(var d=0;d<len;d++){
   dots[d].id=d;
   dots[d].onclick=function(){
    index=this.id;
    changeImg();
   }
  }

 next.onclick=function(){
   index++;
   if (index>=len) index=0;
   changeImg();
  }

  prev.onclick=function(){
   index--;
   if (index<=-1) index=len-1;  //这里最好不要写index=2; 任何一个数组最后一个值的索引一定是他的length-1;
   changeImg();
  }

    }

    function changeImg(){
     for(var i=0;i<len;i++){
      pics[i].style.display="none";
      dots[i].className="";
     }


     pics[index].style.display="block";
     dots[index].className="active";
    }

slideImg();

我html文件的左边按钮是<a href="" class="button prev" id="prev"></a>

右边按钮是<a href="javascript:void(0)" class="button next" id="next"></a>

区别是多了javascript:void(0),然后我发现我在网页点左边的按钮是图片无法更换,但是点右边的按钮图片正常更换,这是为什么呢,这里按钮的作用都不是跳转到其他网页,所以href里面加不加东西都应该是一样的效果呀

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
chrismorgen 2018-08-01 13:29:41

javascript:void(0)在a标签中表示的是一个死链接,你点击他会执行javascript代码,而void(0)表示没有方法,所以什么都不会跳转,而你在href=""中什么都不填写的话,它还是会跳转一次的,譬如下图代码

,你分别点击之后是有区别的。”点我”会刷新地址栏,而“点我1”不会刷新,祝学习愉快~

http://img1.sycdn.imooc.com//climg/5b61306a000176a103550099.jpg

如下图所示标记的地方点击

http://img1.sycdn.imooc.com//climg/5b6130a300012e6001540112.jpg

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师