乐观的阿珍 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 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)