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> 我发出来就没见了……
大约 2 年之前 回复
gr47725812
gr47725812 <script>
大约 2 年之前 回复
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 那怎么修改呢? 因为是看上这么写的……
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
引入jquery不起作用 原因
首先确认jquery引入路径正确,而且jquery的的确确是被引入进来了,通过firefox可以看到jquery代码。 在这样的情况,发现连$("#id")都找不到对象或者$(function(){})根本就没起作用,那么可能的原因除了网上所说的: html元素不符合标准,比如span里面嵌套div,form中嵌套form,table中嵌套form等(http://zhouchaofei201
外联js文件没有效果的可能解决方法
本人本来想在主页面做一个表单,通过表单的onsubmit="return js文件中的某一方法名()"来使得表单在submit时达到某一个效果,可是js效果就是不成功,但是把js文件内的代码全copy到和表单同一页面内又成功了,纳闷了很久,后来终于发现原因和解决方法。当然这只是本人遇到的问题,对于外联JS文件不起效果,常见的原因有:  除开一些语法细节错误,注意js文件中不用加script标签,
关于js文件引入无法使用的问题
js文件引入后无法使用我遇上的两点:1.就是路径问题 盘查看浏览器控制台是否报错2.就是js文件方法有问题排查就是按个注释方法,不断的试才能知道那个方法里出了错,我记得可能是某个方法有问题会导致整个js文件加载失败...
在HTML中引入外部文件CSS和JS的方法
1.导入外部CSS文件用的是link标签: 其中,href中填写的是css文件的相对位置。 2.导入外部JS文件用的是script标签: 其中,src中填写的是js文件的相对位置。
点击html页面上的button,js网络请求,无反应
&amp;lt;input type=&quot;button&quot; class=&quot;sub_button&quot; value=&quot;登录&quot; onclick=&quot;submitUserInfo()&quot;&amp;gt;$.ajax({ url:url, data:params, type:&quot;GET&quot;, async: false, //同步 cache: false, dataType
为什么在.html文件中嵌入php代码没效果
问题: 原因:
为什么我的jquery.js引入不正确
初步学习jquery,请大家看看为什么我的程序不对 项目结构为: JSP代码为: <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
html中引入javascript文件的加载和执行
以前开发前端页面,经常发现html文件中js文件引入的位置改变有时会引起界面bug,某些效果出问题。这其实是浏览器对js文件加载和执行的机制所致。 浏览器对于Javascript的运行有两大特性:1)载入后马上执行,2)执行时会阻塞页面后续的内容(包括页面的渲染、其它资源的下载)。于是,如果有多个js文件被引入,那么对于浏览器来说,这些js文件被被串行地载入,并依次执行。
html引入js文件失败的问题分析
  初学js,在外部引用js文件一直不执行代码,但是在html里用&amp;lt;scripe&amp;gt; &amp;lt;/scripe&amp;gt;标签却可以运行。 1.右键网页,点击查看页面 源代码,然后看你的&amp;lt;scripe src =“ *.js”&amp;gt;是否可以点击,要是不可以点击,则是js文件路径出现了问题。2.检查拼写。查看写的是src 还是scr。这两个都是html里的关键字。很容易出现拼写错误(而且...
Jsp中引入JavaScript失败(找不到js文件)
起因:jsp页面加载打印功能的js文件失败,在firefox下无法检索到该js文件。 我在本地的html文件中用常见的方式引入js,没有问题。但是jsp中始终不行。 于是,查阅资料,发现动态web项目中js不能放到 WEB-INF下,并且引入的src地址需要按照容器中项目位置而来,建议使用相对位置引入文件。 帖子地址:http://www.it