为了账号安全,请及时绑定邮箱和手机立即绑定

求帮忙看下这段代码,为什么没有效果

求帮忙看下这段代码,为什么没有效果

慕粉4084340 2016-10-21 17:26:24
<!doctype html><html><head>    <meta charset="UTF-8">    <title>Document</title></head><body>    <ul>                                <li>            <a href="1.jpg" onclick="showPic(this)" title="A fireworks display">第一张图片</a>            </li>        <li>            <a href="2.jpg" title="A cup of black coffee">第二张图片</a>                   </li>        <li>            <a href="3.jpg">第三张图片</a>            </li>        <img id="img1" src="4.jpg">                           </ul>        <script type="text/javascript">    window.onload=function()              { function showPic(whichpic)                             {                                 var source=whichpic.getAttribute('href')                                 var placeholder=document.getElementById('img1')                                 placeholder.setAttribute("src",source)                             }              }    </script>    </body></html>
查看完整描述

2 回答

已采纳
?
stone310

TA贡献361条经验 获得超191个赞

1、先删去window.onload,否则showPic在函数作用域内,外界无法获取;

2、因为点击后,会跳入href的地址,因此要将href动作屏蔽掉,如下:

<body>
<ul>
    <li>
        <a href="1.jpg" onclick="return showPic(this)" title="A fireworks display">第一张图片</a>
        <!-- 这里onclick要这么写 -->
    </li>
    <li>
        <a href="2.jpg" title="A cup of black coffee">第二张图片</a>
    </li>
    <li>
        <a href="3.jpg">第三张图片</a>
    </li>
    <img id="img1" src="4.jpg">
</ul>
<script type="text/javascript">
    function showPic(whichpic) {
        var source = whichpic.getAttribute('href')
        var placeholder = document.getElementById('img1')
        placeholder.setAttribute("src", source);
        return false;   //增加return false使其停止执行<a>的href步骤,onclick里面方法如上所写
    }
</script>
</body>

3、另外除了2方法,还有个方法,将href这个属性名随便换成一个自己定义的名字,如:<a img="1.jpg"......,当然底下的JS代码中的“href”也要换成“img”;再给<a>标签加上css:a{ cursor: pointer}让鼠标移上去有手指形状

查看完整回答
反对 回复 2016-10-22
  • 2 回答
  • 0 关注
  • 1462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信