乐观的阿珍 2017-01-23 07:36 采纳率: 0%
浏览 796

JS一个有关addLoadEvent的小问题

 <!DOCTYPE html >
<html lang="en" >
<head>
    <meta charset="utf-8" />
    <title>这是啥?</title>
    <link rel="stylesheet" href="css/layout.css" media="screen" />
</head>

<body>
    <h1>不知道啊</h1>
    <ul id="imagegallery">
        <li>
            <a href="image/1.jpg" onclick="showPic(this); return false;" title="This is One">One</a>
        </li>
        <li>
            <a href="image/2.jpg" title="This is Two">Two</a>
        </li>
        <li>
            <a href="image/3.jpg" title="This is Three">Three</a>
        </li>
        <li>
            <a href="image/4.jpg" title="This is Four">Four</a>
        </li>
    </ul>

    <img id="placeholder"  height="270" width="480" src="image/sb.jpg" alt="这到底是啥?"/>
    <p id="description">我也不知道啊</p>
    <script type="text/javascript" src="js/mdzz.js"></script>
</body>
</html>
function showPic(whichpic)
{
    if(!document.getElementById("placeholder")) return false;
    var source = whichpic.getAttribute("href");
    var placeholder = document.getElementById("placeholder");
    if(placeholder.nodeName != "IMG") return false;
    placeholder.setAttribute("src", source);

    if(document.getElementById("description"))
    {
        var text = whichpic.getAttribute("title") ? whichpic.getAttribute("title") : "";
        var description = document.getElementById("description");
        if(description.firstChild.nodeType == 3)
        {
            description.firstChild.nodeValue = text;
        }
    }
    //var gallery = document.getElementById("imagegallery");
    //var links = gallery.getElementsByTagName("a");
    //alert(links[0].onClick);
    //count();
    return true;
}

function prepareGallery()
{
    //if(!document.getElementById) return false;
    //if(!document.getElementsByTagName) return false;
    //if(!document.getElementById("imagegallery")) return false;
    var gallery = document.getElementById("imagegallery");
    var links = gallery.getElementsByTagName("a");
    for(var i = 0; i < links.length; i++)
    {
        links[i].onClick = function()
        {
            showPic(this);
            return showPic(this) ? false : true;
            //showPic(this);
            //return false;
        }
    }
}


function addLoadEvent(func)
{
    var oldonload = window.onload;
    if(typeof window.onload != 'function')
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
        {
            oldonload();
            func();
        }
    }
}

//window.onload = count;
//addLoadEvent(count);
addLoadEvent(prepareGallery);

感觉这个addLoadEvent函数无法运行,在页面中点击链接时会直接跳转到新的图片的页面,而不是在下面的placeholder里面显示,

  • 写回答

1条回答 默认 最新

  • devmiao 2017-01-23 16:29
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名