3-15 效果出不来~

3-15 效果出不来~

//封装一个代替getElementById()的方法

function byId(id){

return typeof(id)==="string"?document.getElementById(id):id;

}

var index = 0,

timer = null,

pics = byId("banner").getElementsByTagName("div"),

len = pics.length;

console.log(len);

function slideImg(){

var main=byId("main");

//滑过清除定时器,离开继续

main.onmouseover = function(){

//滑过清除定时器

}

main.onmouseout = function(){

timer = setInterval(function(){

index++;

if(index >= len){

index = 0;

}

//切换图片

changeImg();

},3000)

}

//自动在main上触发鼠标离开后的事件

main.onmouseout();

}


//定义切换图片的元素

function changeImg(){

//遍历banner下所有的div,将其影藏

for(var i=0;i<len;i++){

pics[i].style.display="none";

}

pics[index].style.display = 'block';

}

slideImg();



console 里有这个错误

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

正在回答

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

4回答

经测试在html代码中用的是class

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

而在js脚本中用的是id获取

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

这种情况下是获取不到的哦,可以把html中的属性修改成id。自己修改测试下,祝学习愉快~~

  • 毛Bing 提问者 #1
    哇 !谢谢
    2018-06-11 19:26:02
  • 毛Bing 提问者 #2
    非常感谢!
    2018-06-19 08:37:47
提问者 毛Bing 2018-06-11 17:39:51

<html>

<head>

<meta charset="UTF-8">

<title>图片轮播</title>

<link rel="stylesheet" href="css/style.css">

</head>

<body>

<div class="main">

<!--图片轮播-->

<div class="banner" id="banner">

<a href="">

<div class="banner-slide slide1 solide-active" ></div>

</a>

<a href="">

<div class="banner-slide slide2"></div>

</a>

<a href="">

<div class="banner-slide slide3"></div>

</a>

</div>

<!--上一张,下一张按钮-->

<a href="javascript:void(0)" class="button prev"></a>

<a href="javascript:void(0)" class="button next"></a>

<!--圆点导航-->

<div class="dots">

<span class="active"></span>

<span></span>

<span></span>

</div>

</div>

<script src="JS/script.js"></script>

</body>

</html>


提问者 毛Bing 2018-06-11 17:01:24

*{

margin: 0;

padding: 0;

}

ul{

list-style-type: none;

}

body{

font-family: "微软雅黑";

color: #14191e;

}

.main{

width: 1200px;

height: 460px;

margin: 30px auto;

overflow: hidden;

position: relative;

}

.banner{

width: 1200px;

height: 460px;

overflow: hidden;

position: relative;

}

.banner-slide{

width: 1200px;

height: 460px;

position: absolute;

display: none;

background-repeat: no-repeat;

}

.solide-active{

display: block;

}

.slide1{

background-image:url(../images/bg1.jpg)

}

.slide2{

background-image:url(../images/bg2.jpg)

}

.slide3{

background-image:url(../images/bg3.jpg)

}


.button{

position: absolute;

width: 40px;

height: 80px;

left: 244px;

top:50%;

margin-top:-40px;

background:url(../images/arrow.png) no-repeat;

background-position: center center;

}

.button:hover{

background-color: #333;

opacity: 0.8;

filter:alpha(opacity=80);

}

.prev{

transform: rotate(180deg)

}

.next{

left: auto;

right:0;

}


.dots{

position: absolute;

right: 20px;

bottom: 24px;

text-align:right;

}

.dots span{

display: inline-block;

width: 12px;

height: 12px;

line-height: 12px;

border-radius: 50%;

background:rgba(7, 17 , 27, 0.4);

box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.8) inset;

margin-left: 8px;

cursor: pointer;

}

.dots span.active{

box-shadow: 0 0 0 2px rgba(7, 17 , 27, 0.4) inset;

background: white;


}


好帮手慕星星 2018-06-11 11:07:26

可以把你的html代码,css代码全部粘贴出来吗?更方便为你测试哦。

  • 提问者 毛Bing #1
    html 代码 <html> <head> <meta charset="UTF-8"> <title>图片轮播</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="main"> <!--图片轮播--> <div class="banner" id="banner"> <a href=""> <div class="banner-slide slide1 solide-active" ></div> </a> <a href=""> <div class="banner-slide slide2"></div> </a> <a href=""> <div class="banner-slide slide3"></div> </a> </div> <!--上一张,下一张按钮--> <a href="javascript:void(0)" class="button prev"></a> <a href="javascript:void(0)" class="button next"></a> <!--圆点导航--> <div class="dots"> <span class="active"></span> <span></span> <span></span> </div> </div> <script src="JS/script.js"></script> </body> </html>
    2018-06-11 17:00:34
  • 提问者 毛Bing #2
    还有CSS代码在 回答里面
    2018-06-11 17:03:34
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
JavaScript基础入门 2018
  • 参与学习       547    人
  • 提交作业       206    份
  • 解答问题       640    个

JavaScript作为前端学习中的一个重要组成部分,本课程将带领你从最基础的语法开始,学习js的流程控制语句、函数、内置对象、DOM基础、DOM事件、BOM基础以及经典的js案例--轮播图。

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

在线咨询

领取优惠

免费试听

领取大纲

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