《JS DOM编程艺术》第二版第六章的例子,为什么照着书上的写会出错?

JS代码部分:


<script>

            function prepareGallery()

            {

                if(!document.getElementById("gallery"))return false;

                if(!document.getElementsByTagName)return false;

                var gallery=document.getElementById("gallery");

                var links=gallery.getElementsByTagName("a");

                for(i=0;i<links.length;i++)

                {

                    links[i].onclick=function()

                    {

                        showpic(this);

                        return false;

                    }

                }

            }

            

            function showpic(x)

            {

                var changepic=document.getElementById("placeholder");

                var source=x.getAttribute("href");

                changepic.setAttribute("src",source);

                var description=document.getElementById("description");

                var text=x.firstChild.nodeValue;

                description.firstChild.nodeValue=text;

            }

        </script>

HTML部分:


<h1>标题</h1>

        <ul id="gallery">

            <li>

                <a href="img/摆渡.jpg" title="摆渡人" >摆渡人</a> 

            </li>

            <li>

                <a href="img/城市.png" title="洛阳城" >洛阳城</a>

            </li>

            <li>

                <a href="img/守卫.jpg" title="地狱口" >地狱口</a>

            </li>

            <li>

                <a href="img/海怪.jpg" title="海上龙" >海上龙</a>

            </li>

        </ul>

        <p id="description">选择一张图片</p>

        <img id="placeholder" src="img/透明.png" alt="占位图"/>

该例是要实现点击链接,在当前页面打开图片。然而按照书上的代码写完后,变成了在新页面打开图片。

请问错误在哪里?

多谢多谢多谢回答O(∩_∩)O


森栏
浏览 572回答 1
1回答

HUH函数

prepareGallery 函数你都没有执行啊你的js代码 再加一句prepareGallery() 就可以了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript