function prepareSlideshow(){
if (!document.getElementById) return false;
if (!document.getElementsByTagName) return false;
var slideshow=document.createElement("div") //创建一个储存预备幻灯片的div
slideshow.setAttribute("id","slideshow")
var preview=document.createElement("img")//创建预备幻灯片
preview.setAttribute("id","preview")
preview.setAttribute("src","images/首页头部1.png")
slideshow.appendChild(preview)
var intro=document.getElementById("intro")//找到要插入滚动图片的前面一个元素
intro.parentNode.insertBefore(slideshow,intro)
var links=intro.getElementsByTagName("a")//遍历a标签
for(var i=0;i<links.length;i++){
links[i].onmouseover=function(){
var destination=document.getElementById("href")
if(destination.indexOf("move.html")!=-1){moveElement("preview",0,0,5)}//报错
if(destination.indexOf("tv.html")!=-1){moveElement("preview",-150,0,5)}//报错
if(destination.indexOf("radio.html")!=-1){moveElement("preview",-300,0,5)}//报错
if(destination.indexOf("music.html")!=-1){moveElement("preview",-450,0,5)}//报错
if(destination.indexOf("book.html")!=-1){moveElement("preview",-600,0,5)}//报错
}
}
}
addLoadEvent(prepareSlideshow);
:<div id="intro">
<ul>
<li ><a href="move.html">电影</a></li>
<li ><a href="tv.html">电视剧</a></li>
<li ><a href="radio.html">电台</a></li>
<li ><a href="music.html">音乐</a></li>
<li ><a href="book.html">音乐</a></li>
</ul>
</div>
js其他代码都没问题,但谷歌报错,是参数设置错误造成的,解决方法如下:
1、新建一个html页面,命名为test.html。
2、在test.html编写js代码,在try内使用错误的弹窗方法adddlert() ,在catch内捕捉错误信息,并把它显示在页面的p标签内。代码如下。
3、在浏览器运行test.html,在js中是没有adddlert()这个方法的,执行过程会出错,使用try catch成功捕获了错误,在页面提示了错误信息。
4、除了上面将错误写在页面上,还可以以弹窗的方式弹出错误信息。在test.html定义一个查看消息的按钮,点击按钮,执行try catch里的内容,如果js代码有错误,会以弹窗的形式显示错误信息。
5、在浏览器运行test.html,点击“查看消息”按钮执行js代码,因为在js中是没有adddlert()这个方法的,执行过程会出错,实现错误信息的弹窗显示。
就算不是null,使用document.getElementById()方法获取到的也是一个dom节点对象,它也没有indexOf方法的。
再退一步来说,就算就使用的是getElementsByTagName()获取到一个dom节点列表数组。也不能使用indexOf(字符串);
//我猜想你可能是想判断href属性是否包含哪些字符:那么可以修改:按你改的然后报错Cannot read property 'href' of undefined
这是我的html代码,在补充问题里
好。我下自习了回去试试 先谢谢了
本回答被提问者和网友采纳