(五) 数组

(五)  数组

(1)下来列表框的级联
    下拉列表框的属性:
                length      可读可写                           length = 0  表示对选项清空
                value       
                options      下拉列表框的所有值的集合
                selectedIndex      选中的列的索引   从  0 开始

   
   
  1. <select id="sel">
  2. <option value="a">A</option>
  3. <option value="b">B</option>
  4. <option value="c">C</option>
  5. </select>
    
    
  1. var sel = document.getElementById("sel");
  2. //获取下拉列表框的选项数量
  3. var length = sel.length;
  4. //该属性为可写属性
  5. //sel.length = 1;
  6. //alert(length);
  7. //获取下拉列表的所有选项
  8. var opts = sel.options;
  9. //获取指定索引的选项对象,获取标签的文本值
  10. //alert(opts[0].text);
  11. //获取value值
  12. //alert(opts[0].value);
  13. //添加新的选项
  14. //opts.add(new Option("D","c"));
  15. //删除选项,根据索引删除
  16. //opts.remove(1);
     
     
  1. sel.onchange = function(){
  2. //alert(sel.value);
  3. //获取选项的索引
  4. //alert(sel.selectedIndex);
  5. //获取选中的项
  6. //sel.options[sel.selectedIndex]
  7. }
往下拉列表框添加数据
   
   
  1. new Option("显示的内容","value值");
  2. sel.options.add(Option对象);



数组创建方式
        1)var  array = new Array();
                array[0] = "A";
                array[1] = "B";
        2)var array = new Array("A","B","C");
        3)var array = ["A","B","C"];

二维数组
        array[0] =   ["A","B","C"];
        array[1] =   ["A","B","C"];

遍历数组和java相同
   
   
  1. <script>
  2. //创建数组
  3. //var array = new Array();
  4. //array[0] = "A";
  5. //array[1] = "B";
  6. //array["c"] = "C";
  7. //alert(array[2]);
  8. //alert(array.length);
  9. //var array = new Array("A","B","C");
  10. //var array = ["A","B","C"];
  11. //alert(array[1]);
  12. var array = new Array();
  13. array[0] = ["a","b","c"];
  14. array[1] = ["A","B","C"];
  15. //遍历
  16. for(var i = 0; i < array.length; i++){
  17. for(var j = 0; j < array[i].length; j++){
  18. document.write(array[i][j]);
  19. }
  20. document.write("<br>");
  21. }
  22. </script>

    数组的方法
        sort    顺序排序
        reverse  反转内容
        join(string)  将数组中的元素连接成字符串
        concat(array1,array2)将两个字符串合并成一个数组     要用变量来接收合并的数组
        slice(start,end)   截取数组


   
   
  1. <select id="provice">
  2. <option value="0">--选择省份--</option>
  3. <option value="1">江苏</option>
  4. <option value="2">浙江</option>
  5. <option value="3">山东</option>
  6. </select>
  7. <select id="city">
  8. <option>--选择城市--</option>
  9. </select>
  10. <script>
  11. var provice = document.getElementById("provice");
  12. var city = document.getElementById("city");
  13. //创建存储所有城市的数组
  14. var cityArray = new Array();
  15. cityArray[0] = ["苏州","南京","无锡"];
  16. cityArray[1] = ["杭州","温州","嘉兴"];
  17. cityArray[2] = ["济南","青岛","烟台"];
  18. var valueArray = new Array();
  19. valueArray[0] = ["suzhou","nanjing","wuxi"];
  20. valueArray[1] = ["hangzhou","wenzhou","jiaxing"];
  21. valueArray[2] = ["jinan","qingdao","yantai"];
  22. //添加选项更改事件
  23. provice.onchange = function(){
  24. //清空城市列表
  25. city.length = 1;
  26. //获取选中的省份
  27. //var value = provice.value;
  28. //switch(value){
  29. // case "1":
  30. // //为城市下拉列表添加选项
  31. // city.options.add(new Option("南京","nanjing"));
  32. // city.options.add(new Option("苏州","suzhou"));
  33. // city.options.add(new Option("无锡","wuxi"));
  34. // break;
  35. // case "2":
  36. // //为城市下拉列表添加选项
  37. // city.options.add(new Option("杭州","hangzhou"));
  38. // city.options.add(new Option("嘉兴","jiaxing"));
  39. // city.options.add(new Option("温州","wenzhou"));
  40. // break;
  41. // }
  42. //获取省份选中的索引
  43. var index = provice.selectedIndex;
  44. if(index != 0){
  45. //根据索引对城市数组进行遍历,添加选项
  46. for(var i = 0; i < cityArray[index-1].length; i++){
  47. city.options.add(new Option(cityArray[index-1][i],valueArray[index-1][i]));
  48. }
  49. }
  50. }
  51. city.onchange = function(){
  52. alert(city.value);
  53. }
  54. </script>


获取随机数
    var  num  = Math.random()
   
   
  1. //var array = new Array("C","B","A");
  2. //排序
  3. //array.sort();
  4. //反转
  5. //array.reverse();
  6. //将数组中的元素连接成字符串
  7. //var s = array.join("#");
  8. //alert(s);
  9. //拼接数组
  10. //array = array.concat(new Array("a","b","c"));
  11. //截取数组
  12. //array = array.slice(0,1);
  13. //alert(array);
  14. function removeArray(array,value){
  15. //遍历数组,获取要删除的元素的索引
  16. var index = -1;
  17. for(var i = 0; i < array.length; i++){
  18. if(array[i] == value){
  19. index = i;
  20. break;
  21. }
  22. }
  23. //判断要删除的数是否存在
  24. if(index != -1){
  25. //截取要删除元素的前后部分的数组内容
  26. var beforeArray = array.slice(0,index);
  27. var afterArray = array.slice(index+1);
  28. //拼接数组
  29. array = beforeArray.concat(afterArray);
  30. }
  31. return array;
  32. }



其他效果
        border- radius  设置角的弧度
        box-shadow   设置背影


无缝滚动
    判断滚动条是否滚动到第二个列的起始位置,即第一个列的宽长度。
实现无缝滚动,要用到overflow:hidden 样式 ,同时的列的内容要多于列的宽度,中文不让它换行,要使用white-space:nowrap
第二个列的内容要和第一个列的内容一致
   
   
  1. <div id="div" style="width:150px; background-color:#333; color:white; overflow:scroll;">
  2. <table cellpadding="0" cellspacing="0">
  3. <tr>
  4. <td id="td1" >asdfasdfasdfasdfasdfasdasdfsadfZ0</td>
  5. <td id="td2" >asdfasdfasdfasdfasdfasdasdfsadfZ0</td>
  6. </tr>
  7. </table>
  8. </div>
    
    
  1. <script>
  2. var td1 = document.getElementById("td1");
  3. var td2 = document.getElementById("td2");
  4. var div = document.getElementById("div");
  5. //控制滚动条
  6. //div.scrollLeft = 20;
  7. //获取列的宽度
  8. //alert(td1.clientWidth);
  9. function move(){
  10. //判断当前滚动条是否滚动至第二个列的起始位置,即第一个列的列宽长度
  11. if(div.scrollLeft == td1.clientWidth){
  12. //回滚至起点
  13. div.scrollLeft = 0;
  14. }
  15. else{
  16. //每次移动1像素
  17. div.scrollLeft = div.scrollLeft+1;
  18. }
  19. //反复移动滚动条
  20. window.setTimeout("move()",100);
  21. }
  22. move();
  23. </script>

图层的旋转
    通过transform:rotate(0deg)修改里面的值来进行图层的旋转
   
   
  1. <div id="div" style="border:1px solid black; background-color:orange; width:200px; height:200px; -webkit-border-radius:10px 10px;-webkit-transform:rotate(0deg); opacity:0.8; margin-top:50px; margin-left:50px"></div>
  2. <script>
  3. var i = 0;
  4. var div = document.getElementById("div");
  5. function change(){
  6. div.style.webkitTransform = "rotate("+i+"deg)";
  7. i+=1;
  8. setTimeout("change()",1);
  9. }
  10. change();
  11. </script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值