js style动态设置table高度

2016-09-01 05:09:02 88必发客户端

直接在table标签中设置下不就行了吗?这是静态的,如果要动态设置你会吗?function com_onresize(){var contentsHeight = document.body.clientHeight;var buttonsHeight = document.getElementById( "buttons" ).offsetHeight;var head1Height = document.getElementById( "head1" ).offsetHeight;var head2Height = document.getElementById( "head2" ).offsetHeight;var t1 = document.getElementById( "TableContainer1" ).style.height;var t2 = document.getElementById( "TableContainer2" ).style.height;//alert(document.getElementById( "TableContainer1" ).style.height);var h = contentsHeight - buttonsHeight - head1Height - head2Height - 13;if(h < 110){return;}document.getElementById( "TableContainer1" ).style.height = h/2 + 'px';document.getElementById( "TableContainer2" ).style.height = h/2 + 'px';}function com_sbs_pagesize(){var screenHeight = window.screen.height; var availHeight = window.screen.availHeight; //alert(document.getElementById( "TableContainer1" ).children[0].rows.length); var index = document.getElementById( "TableContainer1" ).children[0].rows.length var buttonsHeight = document.getElementById( "buttons" ).offsetHeight;var head1Height = document.getElementById( "head1" ).offsetHeight;var head2Height = document.getElementById( "head2" ).offsetHeight; var mainH = buttonsHeight + head1Height +head2Height + 13; //20:scroll 35:title 25:tr while ((availHeight-mainH) < (20 + 35 + 25*index)*2){ index = index - 1;}var tableHeight = 20 + 35 + 25*index; document.getElementById( "TableContainer1" ).style.height = tableHeight + 'px'; document.getElementById( "TableContainer2" ).style.height = tableHeight + 'px'; window.resizeTo(document.body.offsetWidth,

思路:一组图片 控制它的滚动条进行滚动 且此时对这组图片进行复制并添加进原图片组中,现在就有两组图片了。你可以想象一下,现在滚动条继续滚动,原来那组图片最后一张图片已经滚至顶端且消失,复制的那组图片的第一张跟在原图最后一张图片后出现,此时你就能感觉到无缝滚动了。复制代码 代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>JS图片向左滚动</title>    <style type="text/css">    img{     border: none;    }    </style></head><body><div id="demo" style="overflow:hidden;width:500px;">  <table border=0 align=center cellpadding=1 cellspacing=1 cellspace=0 >    <tr>      <td id="demo1" valign="top" bgcolor="ffffff">      <!-- 特别注意,下面的图片总宽度必须大于上面定义的demo的宽度,如上面demo的宽度为500px,则下面图片总宽度必须大于500,否则会出现些问题! -->          <table border="0" cellspacing="0" cellpadding="0">          <tr align="center">            <td><a href="#" target="_blank"><img src="images/1.jpg" width="150" height="100"></a></td>            <td><a href="#" target="_blank"><img src="images/2.jpg" width="150" height="100"></a></td>            <td><a href="#" target="_blank"><img src="images/3.jpg" width="150" height="100"></a></td>            <td><a href="#" target="_blank"><img src="images/4.jpg" width="150" height="100"></a></td>            <td><a href="#" target="_blank"><img src="images/5.jpg" width="150" height="100"></a></td>          </tr>        </table>      </td>      <td id="demo2" valign="top">   </td>    </tr>  </table></div><div id="msg"></div><script type="text/javascript" src="jquery.js"></script><script type="text/javascript">   //0:定速度  var speed = 30;  //1:获取元素  demo demo1 demo2  var demo = $("#demo");  var demo1 = $("#demo1");  var demo2 = $("#demo2");  //2:复制 demo1-->demo2  var cont = $("#demo1").html();  $("#demo2").html(cont);    //3:创建方法定时执行  function hello(){     var left = $("#demo").scrollLeft();  if(left >= $("#demo1").width()){   left = 0;  }else{   left++;  }  $("#demo").scrollLeft(left); setTimeout("hello()",

一、变量 在javascript变量中可以存放两种类型的值:原始值和引用值。 原始值存储在栈上的简单字段,也就是值直接存储在变量所标示的位置内。 引用值存储在堆内的对象,栈内变量保存的是指向堆内对象的指针值。 在javascript中有5种基本类型:Undefined,Null,Boolean,Number,String。 引用类型其实就是对象,类似其他语言中类实例的概念。 复制代码 代码如下: var b = true; // 存储在栈上 var num = 20; //存储在栈上 var b = new Boolen(true); //存储在堆内 var num = new Number(20); // 存储在堆内 通常生成对象的方式 : new +类型名称 var obj = new object() 如果没有参数也可以写成 var obj = new object; 还可以用对象字面量生成对象 var obj = {} 二、函数 在javascript 中函数就是对象,应该像对待javascript中其他对象一样对待函数,每个函数都隐式附加两个额外参数this,arguments。 函数可以:赋值给变量,作为其他对象的属性,作为其他函数的参数,作为返回值,还可以用字面量来创建函数。 函数上下文: 在面向对象语言里用this关键字引用类对象的当前实例。javascript里的this关键字却不同于面向对象语言中的this。在javascript中,函数就是对象, this引用的是调用当前函数的函数上下文。 可以通过call()和apply()方法来显式的指定函数上下文。Call的第一个参数被用来作为调用函数的上下文,其他参数作为被调用函数的参数传入被调用函数。Apply()和Call()差不多,只不过第二个参数是数组。 复制代码 代码如下: var obj = { m:"hello" } var m="hi"; var say=function() { alert(this.m); //this指向函数调用上下文 } say();//hi,window为调用上下文 say.call(obj);// hello,此时obj为函数调用上下文 say.call(window);// hi,window为调用上下文 作用域: 定义在函数中的参数和变量在函数外部是不可见的,而且在一个函数中的任何位置定义的变量在该函数中的任何地方都是可见的。 复制代码 代码如下: var obj = function() { var num = 1; return { getValue: function() { alert(num); //undefined var num = 2; alert(num); //2 } } } (); obj.getValue(); 闭包 所谓闭包就是函数能使用函数外定义的变量,函数可以访问创建时的上下文环境。 复制代码 代码如下: var hello = "hello word!"; function sayHello() { alert(hello); } sayHello(); var obj = function() { var value = 0; return { setValue: function(val) { value += typeof val === 'number' ? val : 1; }, getValue: function() { return value; } } } (); obj.setValue('a'); alert(obj.getValue()); //1 注意最后一行的(),()是调用运算符,它表示函数立即调用并返回调用结果。所以obj并不是引用函数,而是引用该函数返回的一个包含两个方法的对象,而且这两个方法享有访问value变量的特权。 再举个网上流传很广的内部函数访问外部函数局部变量例子来说明闭包。点击相应的列表项弹出对应的顺序编号。 复制代码 代码如下: <li id="a">test1</li> <li id="b">test2</li> <li id="c">test3</li> var test = function() { var num = document.getElementsByTagName("li"); var i; for (i = 0; i < num.length; i++) { num[i].onclick = function() { alert(i); //内部函数可以访问外部函数变量,i的最终值是3, //而不是构造函数时的i值,所以此处都弹出3 } } alert(i); //3 } test(); 下面这个写法可以获得正确的结果: 复制代码 代码如下: var test = function() { var num = document.getElementsByTagName("li"); var i; for (i = 0; i < num.length; i++) { num[i].onclick = function(i) { return function() { alert(i + 1); } } (i); //每次构造函数时立即把i值传进去执行,

使用复制代码 代码如下:<script language=javascript>var isNumeric = function(x) {   // returns true if x is numeric and false if it is not.   var RegExp = /^(-)?(\d*)(\.?)(\d*)$/;    return String(x).match(RegExp);}var myArray = [1,'two',3,'four',5,'six',7,'eight',9,'ten'];var oddArray=myArray.filter(isNumeric);  // outputs: 1,3,5,7,9var oddArray=myArray.some(isNumeric);  // outputs: truevar oddArray=myArray.every(isNumeric);  // outputs: falsevar printArray =function(x, idx){   document.writeln('['+idx+'] = '+x);}myArray.forEach(printArray);// outputs: [0] = 1 [1] = two [2] = 3 [3] = four [4] = 5myArray.remove(9);document.writeln(myArray); 复制代码 代码如下:if (!Array.prototype.every) {  Array.prototype.every = function(fun /*, thisp*/)  {    var len = this.length;    if (typeof fun != "function")      throw new TypeError();    var thisp = arguments[1];    for (var i = 0; i < len; i++)    {      if (i in this &&          !fun.call(thisp, this[i], i, this))        return false;    }    return true;  };}if (!Array.prototype.filter){  Array.prototype.filter = function(fun /*, thisp*/)  {    var len = this.length;    if (typeof fun != "function")      throw new TypeError();    var res = new Array();    var thisp = arguments[1];    for (var i = 0; i < len; i++)    {      if (i in this)      {        var val = this[i]; // in case fun mutates this        if (fun.call(thisp, val, i, this))          res.push(val);      }    }    return res;  };}if (!Array.prototype.forEach){  Array.prototype.forEach = function(fun /*, thisp*/)  {    var len = this.length;    if (typeof fun != "function")      throw new TypeError();    var thisp = arguments[1];    for (var i = 0; i < len; i++)    {      if (i in this)        fun.call(thisp, this[i], i, this);    }  };}if (!Array.prototype.map){  Array.prototype.map = function(fun /*, thisp*/)  {    var len = this.length;    if (typeof fun != "function")      throw new TypeError();    var res = new Array(len);    var thisp = arguments[1];    for (var i = 0; i < len; i++)    {      if (i in this)        res[i] = fun.call(thisp, this[i], i, this);    }    return res;  };}if (!Array.prototype.some){  Array.prototype.some = function(fun /*, thisp*/)  {    var len = this.length;    if (typeof fun != "function")      throw new TypeError();    var thisp = arguments[1];    for (var i = 0; i < len; i++)    {      if (i in this &&          fun.call(thisp, this[i], i, this))        return true;    }    return false;  };}Array.prototype.sortNum = function() {   return this.sort( function (a,b) { return a-b; } );}<!--var tmp = [5,9,12,18,56,1,10,42,'blue',30, 7,97,53,33,30,35,27,30,'35','Ball', 'bubble'];var thirty=tmp.find(30);             // Returns 9, 14, 17var thirtyfive=tmp.find('35');       // Returns 18var thirtyfive=tmp.find(35);         // Returns 15var haveBlue=tmp.find('blue');       // Returns 8var notFound=tmp.find('not there!'); // Returns falsevar regexp1=tmp.find(/^b/);          // returns 8,20    (first letter starts with b)var regexp1=tmp.find(/^b/i);         // returns 8,19,20 (same as above but ignore case)-->Array.prototype.find = function(searchStr) {  var returnArray = false;  for (i=0; i<this.length; i++) {    if (typeof(searchStr) == 'function') {      if (searchStr.test(this[i])) {        if (!returnArray) { returnArray = [] }        returnArray.push(i);      }    } else {      if (this[i]===searchStr) {        if (!returnArray) { returnArray = [] }        returnArray.push(i);      }    }  }  return returnArray;}//随机改变数组的排序Array.prototype.shuffle = function (){       for(var rnd, tmp, i=this.length; i; rnd=parseInt(Math.random()*i), tmp=this[--i], this[i]=this[rnd], this[rnd]=tmp);   return this;}   <!--var myArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];var yourArray = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];document.writeln(myArray.compare(yourArray)); // outputs: true;-->Array.prototype.compare = function(testArr) {    if (this.length != testArr.length) return false;    for (var i = 0; i < testArr.length; i++) {        if (this[i].compare) {             if (!this[i].compare(testArr[i])) return false;        }        if (this[i] !== testArr[i]) return false;    }    return true;}//去掉数组中重复的值var a = new Array("5","7","7"); a.unique();Array.prototype.unique = function() { var data = this || [];    var a = {}; //声明一个对象,javascript的对象可以当哈希表用    for (var i = 0; i < data.length; i++) {        a[data[i]] = true;  //设置标记,把数组的值当下标,这样就可以去掉重复的值    }    data.length = 0;     for (var i in a) { //遍历对象,把已标记的还原成数组        this[data.length] = i;     }     return data;}Array.prototype.addAll = function($array){ if($array == null || $array.length == 0)  return; for(var $i=0; $i<$array.length; $i++)  this.push($array[$i]);}Array.prototype.contains = function($value){ for(var $i=0; $i<this.length; $i++) {  var $element = this[$i];  if($element == $value)   return true; } return false;}Array.prototype.indexOf = function($value){ for(var $i=0; $i<this.length; $i++) {  if(this[$i] == $value)   return $i; } return -1;}if (!Array.prototype.lastIndexOf){  Array.prototype.lastIndexOf = function(elt /*, from*/)  {    var len = this.length;    var from = Number(arguments[1]);    if (isNaN(from))    {      from = len - 1;    }    else    {      from = (from < 0)           ? Math.ceil(from)           : Math.floor(from);      if (from < 0)        from += len;      else if (from >= len)        from = len - 1;    }    for (; from > -1; from--)    {      if (from in this &&          this[from] === elt)        return from;    }    return -1;  };}Array.prototype.insertAt = function($value, $index){ if($index < 0)  this.unshift($value); else if($index >= this.length)  this.push($value); else  this.splice($index, 0, $value);}/** * 根据数组的下标来删除元素 */  Array.prototype.removeByIndex=function($n) {       if($n<0){ //如果n<0,则不进行任何操作。        return this;      }else{          return this.slice(0,$n).concat(this.slice($n+1,this.length));      }  }//依赖indexOfArray.prototype.remove = function($value){ var $index = this.indexOf($value); if($index != -1)  this.splice($index, 1);}Array.prototype.removeAll = function(){ while(this.length > 0)  this.pop();}Array.prototype.replace = function($oldValue, $newValue){ for(var $i=0; $i<this.length; $i++) {  if(this[$i] == $oldValue)  {   this[$i] = $newValue;   return;  } }}Array.prototype.swap = function($a, $b){ if($a == $b)  return; var $tmp = this[$a]; this[$a] = this[$b]; this[$b] = $tmp;}Array.prototype.max = function() {   return Math.max.apply({}, this);  }  Array.prototype.min = function() {   return Math.min.apply({}, this);  } Array.prototype.splice = function(start, delLen, item){ var len =this.length; start = start<0?0:start>len?len:start?start:0; delLen=delLen<0?0:delLen>len?len:delLen?delLen:len;  var arr =[],res=[]; var iarr=0,ires=0,i=0; for(i=0;i<len;i++){  if(i<start|| ires>=delLen) arr[iarr++]=this[i];  else {   res[ires++]=this[i];   if(item&&ires==delLen){    arr[iarr++]=item;   }  }  } if(item&&ires<delLen) arr[iarr]=item;  for(var i=0;i<arr.length;i++){  this[i]=arr[i]; } this.length=arr.length; return res;}Array.prototype.shift = function(){ if(!this) return[];return this.splice(0,1)[0];}//分开添加,关键字shallow copy,如果遇到数组,复制数组中的元素Array.prototype.concat = function(){ var i=0; while(i<arguments.length){  if(typeof arguments[i] === 'object'&&typeof arguments[i].splice ==='function' &&!arguments[i].propertyIsEnumerable('length')){  // NOT SHALLOW COPY BELOW  // Array.prototype.concat.apply(this,arguments[i++]);   var j=0;   while(j<arguments[i].length) this.splice(this.length,0,arguments[i][j++]);   i++;  } else{   this[this.length]=arguments[i++];  } } return this;}Array.prototype.join = function(separator){ var i=0,str=""; while(i<this.length) str+=this[i++]+separator; return str;}Array.prototype.pop = function() { return this.splice(this.length-1,1)[0];}Array.prototype.push = function(){  Array.prototype.splice.apply(this,  [this.length,0].concat(Array.prototype.slice.apply(arguments))); //这里没有直接处理参数,而是复制了一下 return this.length;}Array.prototype.reverse = function(){ for(var i=0;i<this.length/2;i++){  var temp = this[i];  this[i]= this[this.length-1-i];  this[this.length-1-i] = temp; } return this;}Array.prototype.slice = function(start, end){ var len =this.length; start=start<0?start+=len:start?start:0; end =end<0?end+=len:end>len?len:end?end:len; var i=start; var res = []; while(i<end){  res.push(this[i++]); } return res; }//arr.unshift(ele1,ele2,ele3....)Array.prototype.unshift =function(){ Array.prototype.splice.apply(this,[0,0].concat(Array.prototype.slice.apply(this,

复制代码 代码如下:var certCardValid = function(id){         var arrVerifyCode = [1,0,"x",9,8,7,6,5,4,3,2];         var wi = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];         var Checker = [1,9,8,7,6,5,4,3,2,1,1];         var msg = "";         if(id.length != 15 && id.length != 18) {             Ext.MessageBox.alert("信息提示","身份证号共有15位或18位。");             return false;         }         var ai = id.length == 18 ?  id.substring(0,17) : id.slice(0,6) + "19" + id.slice(6,16);          if (!/^/d+$/.test(ai)) {             Ext.MessageBox.alert("信息提示","身份证除最后一位外,必须为数字。");             return false;         }           var yyyy = ai.slice(6,10);         var mm = ai.slice(10,12)-1;          var dd = ai.slice(12,14);         var d = new Date(yyyy,mm,dd);         var now = new Date();         var year = d.getFullYear();         var mon = d.getMonth();          var day = d.getDate();          if (year != yyyy || mon != mm || day != dd) {             Ext.MessageBox.alert("信息提示","身份证无效。");             return false;         }          for(var i = 0,ret = 0; i < 17; i++){             ret += ai.charAt(i) * wi[i];         }         ai += arrVerifyCode[ret %= 11];         ai = ai.toUpperCase();          if(id.length == 18 && id != ai){             Ext.MessageBox.alert("信息提示","身份证无效。