关于csdn的给分效果的再次实现!

简介: 上次的随笔有个问题,对firefox不支持,而且如果是用datagrid或者datalist或者repeater绑定的文本框就会出现问题.下面是新代码:                  var cen = document.
上次的随笔有个问题,对firefox不支持,而且如果是用datagrid或者datalist或者repeater绑定的文本框就会出现问题.下面是新代码:
<div id="pop" style="DISPLAY: none; FONT-SIZE: 12px; BACKGROUND: #ffff00; WIDTH: 120px; POSITION: absolute"></div>
            <script language="javascript">
      var cen = document.getElementById("pop");//得到那个提示框
      function fen(e)
      {
         //通过隐藏字段得到总分数
         var zong = parseInt((document.getElementById("hiddenMark")).value);
         var obj = document.getElementById("Table2");//得到那个包含repeater的表格
         var objs = obj.getElementsByTagName("INPUT");//得到表格里所有输入框
         var gei = 0;//定义已经给了多少分
         for(var i=0;i<objs.length;i++)
         {
            gei = gei+parseInt(objs[i].value);//循环得到所有已经给的分
         }
         var n = zong - gei;//得到还有多少分可以给
         //如果多给了分就让提示层的背景红色
       
         cen.style.background = (n<0) ? "#ff0000" : "#ffff00"; 
         cen.innerHTML = "该问题总分值:" + zong + "还可以给的分:" + n;
         return n;
      }
     
      //当鼠标移到这个给分框的时候执行这个函数
      function cc(e)
      {
         var a = e.id;//首先根据传入的对象获得他的id
         var b = document.getElementById(a);//再根据id获得这个对象
         b.select();//让取得的这个输入框全部选择,当然也获得了焦点,必须要这样才能够让他获得焦点
         fen(e);//计算分数
         var ttop = b.offsetTop;//获得输入框的上面偏移
         var tleft= b.offsetLeft;//获得输入框的左偏移量
         var h = b.clientHeight;//获得输入框的高度
         var w = e.clientWidth;//获得输入框的宽度
         while (b = b.offsetParent){ttop += b.offsetTop; tleft += b.offsetLeft;}
         cen.style.top = ttop + h;
         cen.style.left= tleft + w - cen.clientWidth;
         cen.style.display = "";
      }
     
      //当鼠标移开的时候执行的函数
      function out(e)
      {
         cen.style.display = "none"; //提示层隐藏
      }
            </script>
      </body>

经过测试在firefox下面一切显示正常!!!
目录
相关文章
|
测试技术 C++ Python
【浙江大学PAT真题练习乙级】1003 我要通过!(20分) 真题解析
【浙江大学PAT真题练习乙级】1003 我要通过!(20分) 真题解析
131 0
|
测试技术 C++ 索引
【浙江大学PAT真题练习乙级】1002 写出这个数(20分) 真题解析
【浙江大学PAT真题练习乙级】1002 写出这个数(20分) 真题解析
|
网络协议 安全 算法
大网进阶安全刷题讲解(带答案)(1)(上)
大网进阶安全刷题讲解(带答案)(1)
93 0
|
网络协议 安全 算法
大网进阶安全刷题讲解(带答案)(1)(下)
大网进阶安全刷题讲解(带答案)(1)
107 0
|
算法
LeetCode每日1题--快乐数
LeetCode每日1题--快乐数
101 0
CSDN如何查看自己的博客积分?
CSDN如何查看自己的博客积分?
105 0
PTA 1064 朋友数 (20 分)
如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。
115 0
L1-034 点赞 (20 分)
L1-034 点赞 (20 分)
95 0
|
算法
​LeetCode刷题实战296:最佳的碰头地点
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
411 0
​LeetCode刷题实战296:最佳的碰头地点