2 oiu1010110 oiu1010110 于 2016.05.06 22:02 提问

html中引入的js为什么没反应啊?
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Image Gallery</title>
    <link rel="stylesheet" type="text/css" href="../css/imggallery.css">
    <!-- <link rel="stylesheet" type="text/css" href="../css/galleryLayOut.css"> -->
    <script src="../js/showPic.js">
    </script>
</head>
<body>
    <h1>Image Gallery</h1>
    <ul id="imagegallery">
        <li>
            <a href="../images/1.jpeg" title="a handsom boy">kanan</a>
        </li>
        <li>
            <a href="../images/2.jpg"title="a smart fish">fish</a>
        </li>
        <li>
            <a href="../images/3.jpg"title="a smart dog">dog</a>
        </li>
        <li>
            <a href="../images/4.jpg"title="a fine day">glass</a>
        </li>
        <img src="../images/placehold.jpg" alt="my placehold gallery"/>
        <p id="description">Choose an image.</p>
    </ul>
</body>
</html>

addLoadEvent(prepareGallery);
window.onload = function prepareGallery() {
    if(!document.getElementByTagName)
        return false;
    if(!document.getElementById)
        return false;
    if(!document.getElementById("imagegallery"))
        return false;

    var gallery = document.getElementById("imagegallery");
    var links  = gallery.getElementByTagName("a");

    for(var i = 0;i < links.length; i++){
        links[i].onclick = function(){
            return showPic(this)?false:true;
        }
    }
}

function showPic(whichpic) {

    if(!document.getElementById("placehold"))
        return false;
    var source = whichpic.getAttribute("href");
    var placehold = document.getElementById("placehold");
    if(placehold.nodeName !="IMG")
        return false;
    placehold.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;
        }
    }
    return true;
}

function addLoadEvent(func){
    var oldonload = window.onload;
    if(typeof window.onload != 'function'){
        window.onload = func;
    }else{
        window.onload = function{
            oldonload();
            func();
        }
    }
}
//本意是在本页面中看到连接的不同图片,但是这样还是跳转到了另一个窗口去了
//新手,谢谢指导。

3个回答

gr47725812
gr47725812   2016.05.06 23:59
这中间加js
oiu1010110
oiu1010110 回复RealRedArcher: 我是在<head>里面加了的 <script src="../js/showPic.js"> </script> 我发出来就没见了……
一年多之前 回复
gr47725812
gr47725812 <script>
一年多之前 回复
oiu1010110
oiu1010110   2016.05.07 09:52
<!DOCTYPE html>




Image Gallery

<!-- -->
<br>


Image Gallery




addLoadEvent(prepareGallery);
window.onload = function prepareGallery() {
if(!document.getElementByTagName)
    return false;
if(!document.getElementById)
    return false;
if(!document.getElementById("imagegallery"))
    return false;

var gallery = document.getElementById("imagegallery");
var links  = gallery.getElementByTagName("a");

for(var i = 0;i < links.length; i++){
    links[i].onclick = function(){
        return showPic(this)?false:true;
    }
}
}

function showPic(whichpic) {

if(!document.getElementById("placehold"))
    return false;
var source = whichpic.getAttribute("href");
var placehold = document.getElementById("placehold");
if(placehold.nodeName !="IMG")
    return false;
placehold.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;
    }
}
return true;
}

function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != 'function'){
    window.onload = func;
}else{
    window.onload = function{
        oldonload();
        func();
    }
}
}
//引入js了呀
showbo
showbo   Ds   Rxr 2016.05.07 13:36

脚本出错了,自己对比////////////////////注释的地方
xxx.onxxxx=function xxxxxx这种添加事件起函数名字没用,使用不到这个函数名称,导致上面报错了

         //////addLoadEvent(prepareGallery);
         function prepareGallery() {//////////////////
            if(!document.getElementByTagName)
                return false;
            if(!document.getElementById)
                return false;
            if(!document.getElementById("imagegallery"))
                return false;

            var gallery = document.getElementById("imagegallery");
            var links  = gallery.getElementByTagName("a");

            for(var i = 0;i < links.length; i++){
                links[i].onclick = function(){
                    return showPic(this)?false:true;
                }
            }
        }
         window.onload = prepareGallery////////////////////
        function showPic(whichpic) {

            if(!document.getElementById("placehold"))
                return false;
            var source = whichpic.getAttribute("href");
            var placehold = document.getElementById("placehold");
            if(placehold.nodeName !="IMG")
                return false;
            placehold.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;
                }
            }
            return true;
        }

        function addLoadEvent(func){
            var oldonload = window.onload;
            if(typeof window.onload != 'function'){
                window.onload = func;
            }else{
                window.onload = function(){//////////////////
                    oldonload();
                    func();
                }
            }
        }
oiu1010110
oiu1010110 那怎么修改呢? 因为是看上这么写的……
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!