为什么javascript调用.js文件不生效呢?

蕾蕾的眼睫毛 2020-06-01 11:48:39
这是生成图那个累加和一直没出来
<!--prj_7_1.html-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
div{
text-align: center;margin: 20px auto;line-height: 1.5;
border: 18px groove #66FF66;width: 560px;height: 260px;font-weight: bold;
}
form{
margin: 20px auto;padding: 5px;

}

</style>
<script src="sum.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" >
function $(id){return document.getElementById(id);}
function show(){
var n11=parseFloat($("start_num").value);//获取数据并转为浮点数
var n22=parseFloat($("end_num").value);
if (n11>0 && n22>0) //输入数据必须大于 0
{
if ( n11>=n22)
{ alert("起始数必须小于终止数,请重输!");
$("start_num").value=""; //清空文本域
$("end_num").value=""; //清空文本域
$("start_num").focus(); //文本域获得焦点
}
else{ //回填累加和文本框
$("sum").value=sum(n11,n22);
}
}
else{
alert("请输入数据!");
$("start_num").focus(); //文本域获得焦点
}
}

</script>


</head>
<body>
<div id="">
<h3>计算机任意区间内连续自然数的累加和</h3>
<form action="" method="">
<h3>定义区间</h3>
<label>起始数:</label><input type="text" name="start_num" id="start_num" value="" />
<label>终止数:</label><input type="text" name="end_num" id="end_num" value="" /><br>
<label>累加和:</label><input type="text" name="sum" id="sum" value="" readonly="readonly" /><br><br>
<input type="button" name="" id="" value="计算" onclick="show();"/>
<input type="reset" name="" id="" value="清空" />
</form>

</div>


</body>
</html>

下面是sum.js
function sum(n1,n2){
for (var i=n1,sum1=0;i<=n2 ;i++ )
{ sum1=sum1+i; }//执行累加
return sum1;//返回计算结果
}

我这学期学的有点懵,我也不知道调用正确了没有,因为作业要求就是需要调用.js文件,所以不能直接写到script标签里,求助一下呢
...全文
823 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
依依凰荷 2020-06-18
  • 打赏
  • 举报
回复
页面加载顺序是从上到下,你的js写在HTML之前,所以有的元素获取不到,并且你用到jQuery,但是你得页面中并没有引入jQuery
Lucky^ 2020-06-12
  • 打赏
  • 举报
回复
我在写js的时候,有的页面可以调用,有的不可以,在同样的位置也不可以,也不知道啥原因
kmokd 2020-06-09
  • 打赏
  • 举报
回复
我用你的代码及sum.js运行了,也是可以的。你看看是否“禁用运行脚本或ActiveX控件”。
jio可 2020-06-01
  • 打赏
  • 举报
回复
把js代码放到html下面去
aiweiya520 2020-06-01
  • 打赏
  • 举报
回复
你的js用了jq 不过你好像没有引用jq
sha虫剂 2020-06-01
  • 打赏
  • 举报
回复
兄弟,建议你用谷歌浏览器,ie是真不怎么好用,除非做兼容,不然不建议用ie打开项目
jio可 2020-06-01
  • 打赏
  • 举报
回复

<!--prj_7_1.html-->
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title></title>
  <style type="text/css">
    div {
      text-align: center;
      margin: 20px auto;
      line-height: 1.5;
      border: 18px groove #66FF66;
      width: 560px;
      height: 260px;
      font-weight: bold;
    }

    form {
      margin: 20px auto;
      padding: 5px;

    }
  </style>



</head>

<body>
  <div id="">
    <h3>计算机任意区间内连续自然数的累加和</h3>
    <form action="" method="">
      <h3>定义区间</h3>
      <label>起始数:</label><input type="text" name="start_num" id="start_num" value="" />
      <label>终止数:</label><input type="text" name="end_num" id="end_num" value="" /><br>
      <label>累加和:</label><input type="text" name="sum" id="sum" value="" readonly="readonly" /><br><br>
      <input type="button" name="" id="" value="计算" onclick="show();" />
      <input type="reset" name="" id="" value="清空" />
    </form>

  </div>

  <!-- <script src="sum.js" type="text/javascript" charset="utf-8"></script> -->
  <script type="text/javascript">
    function $(id) {
      return document.getElementById(id);
    }

    function show() {
      var n11 = parseFloat($("start_num").value); //获取数据并转为浮点数
      var n22 = parseFloat($("end_num").value);
      if (n11 > 0 && n22 > 0) //输入数据必须大于 0
      {
        if (n11 >= n22) {
          alert("起始数必须小于终止数,请重输!");
          $("start_num").value = ""; //清空文本域
          $("end_num").value = ""; //清空文本域
          $("start_num").focus(); //文本域获得焦点
        } else { //回填累加和文本框
          $("sum").value = sum(n11, n22);
        }
      } else {
        alert("请输入数据!");
        $("start_num").focus(); //文本域获得焦点
      }
    }

    function sum(n1, n2) {
      //执行累加
      for (var i = n1, sum1 = 0; i <= n2; i++) {
        sum1 = sum1 + i;
      }
     //返回计算结果
     return sum1;
    }
  </script>
</body>

</html>
html/js文件是不是在同一目录下面,看你代码是不是把return sum1注释了
5250 2020-06-01
  • 打赏
  • 举报
回复
你的js文件和html文件在同一目录下吗?我试了下 可以运行的
sha虫剂 2020-06-01
  • 打赏
  • 举报
回复
我刚把你的代码复制之后跑了一下,用的也是ie浏览器,完全没有任何问题啊!!!!我用谷歌也是没问题的 不过ie上面进去的时候有个选项,你不会把那玩意儿禁用了吧
蕾蕾的眼睫毛 2020-06-01
  • 打赏
  • 举报
回复
引用 3 楼 sha虫剂 的回复:
jquery没见你引用,js一般写在最后去,有加载顺序影响,还有看一下打印台给我报什么错没有
后台也没有显示错误呢
蕾蕾的眼睫毛 2020-06-01
  • 打赏
  • 举报
回复
引用 2 楼 jio可 的回复:
把js代码放到html下面去
放在下面也不可以欸
jio可 2020-06-01
  • 打赏
  • 举报
回复

function $(id){
   return document.getElementById(id);
}
别人写了个$(’xxx‘)就是jquery了!!! 代码都不看就回答。
sha虫剂 2020-06-01
  • 打赏
  • 举报
回复
jquery没见你引用,js一般写在最后去,有加载顺序影响,还有看一下打印台给我报什么错没有

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧