每日记载内容总结18

1.java实现两个collection的交集和并集

交集:

//求出交集
strList2.retainAll(strList);
System.out.println("交集大小:"+ strList2.size());

并集:

//求出并集
strList2.removeAll(strList);
strList2.addAll(strList);
System.out.println("并集大小:"+ strList2.size());

不用retainAll实现两个collection集合的交集

 public static Collection<Account> getMixedCollect(Collection<Account> accountsOne ,Collection<Account> accountsTwo){
        Collection<Account> mixedAccounts =  new ArrayList<Account>();
        if (accountsOne != null && accountsOne.size() > 0 && accountsTwo !=null && accountsTwo.size() > 0) {
            Iterator<Account> iteratorTwo = accountsTwo.iterator();
            for (Iterator<Account> iteratorOne = accountsOne.iterator() ; iteratorOne.hasNext();) {
                Account accountO = (Account)iteratorOne.next();
                while(iteratorTwo.hasNext()){
                    Account accountT = (Account)iteratorTwo.next();
                    if (accountO.getId().equals(accountT.getId())) {
                        mixedAccounts.add(accountT);
                    }
                }
            }
        }
        return mixedAccounts ;
    }
后来经测试,发现只有iteratorOne的第一个数据与iteratorTwo的所有数据进行了比较,而iteratorOne剩下的数据没有进行比较以及放入mixedAccounts ,原因如下:
iteratorTwo第一次迭代完之后,迭代器的指向已经指向最后,而不会回到第一个,因此没有进入while方法,

新代码如下:

 public static Collection<Account> getMixedCollect(Collection<Account> accountsOne ,Collection<Account> accountsTwo){
        Collection<Account> mixedAccounts =  new ArrayList<Account>();
        if (accountsOne != null && accountsOne.size() > 0 && accountsTwo !=null && accountsTwo.size() > 0) {
            for (Iterator<Account> iteratorOne = accountsOne.iterator() ; iteratorOne.hasNext();) {
                Account accountO = (Account)iteratorOne.next();
                 Iterator<Account> iteratorTwo = accountsTwo.iterator();
                while(iteratorTwo.hasNext()){
                    Account accountT = (Account)iteratorTwo.next();
                    if (accountO.getId().equals(accountT.getId())) {
                        mixedAccounts.add(accountT);
                    }
                }
            }
        }
        return mixedAccounts ;
    }    

2.在css选择器中选择checkbox

input
{
background-color:expression((this.type=="checkbox" ? "blue" : ""));
}

input[type="checkbox"]
input.checkbox

checkbox在不同浏览器下的区别:

IE浏览器下checkbox对width,border,background敏感,而且ie版本在ie10以下
而对margin:0一点反应也没有;Firefox,chrome等浏览器对border,background一点反应都没有,
Firefox对width一点反应也没有,但是Firefox等对margin反应强烈,margin:0;会使复选框后面的文字紧贴这复选框。

所以为了实现漂亮的checkbox,且兼容各种类型的浏览器,一般采用图片模拟checkbox,点击切换图片来实现功能。

jquery获取checkbox的值以及checkbox是否选中

<input type="checkbox" value="501" >
获取值:$("input[type='checkbox']").attr('value')返回 501
判断是否选中:$("input[type='checkbox']").is(':checked') 选中则返回true,不选中则返回false

3.html知识:

margin:0 auto;的意思  就是 上下距离是0   左右距离自动   也就是说  是居中的意思!
5秒后显示内容
<
html> <head> <style> #div1{height:100px;width:100px;background-color:yellow;display:none} </style> <script type="text/javascript"> // window.onload=function(){ // var i=0; // setInterval(function(){ // i++; // document.getElementById("div2").innerHTML="计时:"+ i ; // if(i==5){ // document.getElementById("div1").style.display="block"; // document.getElementById("div2").style.display="none"; // } // },1000); // } function runfun(){ var i=0; var stoptime = document.getElementById("stopTime").value; document.getElementById("div1").style.display="none"; document.getElementById("div2").style.display="block"; setInterval(function(){ i++; document.getElementById("div2").innerHTML="计时:"+ i ; if(i==stoptime){ document.getElementById("div1").style.display="block"; document.getElementById("div2").style.display="none"; i = 0 ; } },1000); }
//清除interval window.clearInterval(id);
</script> </head> <body> <div id ="div0"> 设置经过 <input type="text" id="stopTime" /> 显示 <input type="button" id="runfun" value="开始" onclick = "runfun()"/> </div> <div id="div1"> 2货,还真等啊 </div> <div id="div2"> 计时开始: </div> </body> </html>
测试toggle以及oneclick等知识:
<html>
 <head>
 <style type="text/css" >
    .dd{
    text-align : center;
    }
 </style>
 <script type="text/javascript" src="jquery.min.js"></script>
 <script type="text/javascript">
 $(function(){
//测试是否含有名字为dd的class alert($(
"#f").hasClass("dd")); //通过点击按钮实现切换body的背景
$(
"button").toggle(function(){ $("body").css("background-color","green");}, function( ){ $(this).stop( );}, function(){ $("body").css("background-color","red");}, function(){ $("body").css("background-color","yellow");} );
//用toggle给text添加动画效果 $(
"#eee").toggle(function(){ $("#eee").animate({"left":"500px","opacity":0.5},3000);},//顺便改改透明度 function(){ $(this).stop( ); }, function(){ $("#eee").animate({"left":"0px","opacity":1},3000 );} );
//动态实现下一个控件的显示与隐藏 $(
"#fff").click( function(){ $(this).next().slideToggle( ); // 注意不能在自己身上写这个表达式,因为收起后,没法展开,收起后就没法点击啦。。一般都是写给next( )。 $(this).toggleClass("vvvvvvv"); } ) $("#f").toggle( function(){ // toggle通过鼠标点击触发的 $(this).css("color","red"); }, function() { $(this).css("color","blue"); } ); $("#fff").one("click",function(){//执行一次就失效 alert($(this).val()); }); }); </script> </head> <body> <button>请点击这里,来切换不同的背景颜色</button> <input type="text" value="test" id="f" style="text-valign:center" class="dd"> <input type="text" value="one time" id="fff" class=""> <input type="text" value="one wwwww" id="eee" style="position:relative"> </body> </html>
用bind绑定多个事件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <script type="text/javascript" src="jquery.min.js"></script>
  <script type="text/javascript">
  $(function(){
     $("#eee").bind({click:function(){
   alert(1);
       },
   mouseover:function(  ){
       alert(2); }
   });
  });
  </script>
  <style type="text/css">
  </style>
 </head>

 <body>
  <input type="text" value="one wwwww" id="eee" style="position:relative">
 </body>
</html>
用js获取元素坐标
<html>
    <head>
        <script type="text/javascript">
            //获取元素的纵坐标
function getTop(e){
var offset=e.offsetTop;
if(e.offsetParent!=null) offset+=getTop(e.offsetParent);
return offset;
}
//获取元素的横坐标
function getLeft(e){
var offset=e.offsetLeft;
if(e.offsetParent!=null) offset+=getLeft(e.offsetParent);
return offset;
}

function locatio(obj){
    alert(obj.offsetParent);
    alert("y:"+getTop(obj)+"--x:"+getLeft(obj));
}
        </script>
    </head>
    <body>
        <div>
        <table>
        <tr><td><input type="text" value="hello" onclick="locatio(this)"/></td><td><input type="text" value="world" onclick="locatio(this)"/></td></tr>
        <tr><td><input type="text" value="fuck" onclick="locatio(this)"/></td><td><input type="text" value="you" onclick="locatio(this)"/></td></tr>
        <tr><td><input type="button" value="hello" onclick="locatio(this)"/></td><td><input type="button" value="hello" onclick="locatio(this)"/></td></tr>
        <tr><td><input type="button" value="fuck" onclick="locatio(this)"/></td><td><input type="button" value="you" onclick="locatio(this)"/></td></tr>
        
        </table>
        </div>
    </body>
</html
制作多样表格
<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <style> table{border-collapse:collapse;border-top:3px solid #000;border-bottom:3px solid #000;} .notVert{border:none; } td,th{ width:60px; border-right:1px solid #aaa; border-bottom:1px solid #aaa; text-align:center; font-size:16px; }; th{font-size:16px;font-weight:normal} .last{border-right:none; } .lastTr td{border-bottom:none; } strong{color:red; } </style> </head> <body> <p> <strong>四周(上下左右都不封闭)</strong> </p> <table cellspacing="0" cellpadding="2" class="notVert"> <tr> <th>一月</th> <th>二月</th> <th>三月</th> <th class="last">总计</th> </tr> <tr> <td>29</td> <td>38</td> <td>65</td> <td class="last">24</td> </tr> <tr> <td>26</td> <td>47</td> <td>58</td> <td class="last">4</td> </tr> <tr class="lastTr"> <td>56.45</td> <td>665</td> <td>76</td> <td class="last">8</td> </tr> </table> <p> <strong>常用型,左右不封闭</strong> </p> <table cellspacing="0" cellpadding="2"> <tr> <th>一月</th> <th>二月</th> <th>三月</th> <th class="last">总计</th> </tr> <tr> <td>22</td> <td>112</td> <td>52</td> <td class="last">4</td> </tr> <tr> <td>15</td> <td>265</td> <td>39</td> <td class="last">4</td> </tr> <tr class="lastTr"> <td>72</td> <td>43</td> <td>521</td> <td class="last">8</td> </tr> </table> </body> </html>

4.div边框重叠解决办法:

设置重叠部分边框所在div的margin为边框宽度的相反数就可以

以下为测试代码:

.div {width:100px; height:103px; border:1px solid #333; margin-right:-1px; margin-bottom:-1px;}
.float-left{float:left;}
.clear-both{clear:both;}
<div class="div"></div>
<div class="div"></div>
<div class="div float-left"></div>
<div class="div float-left"></div>
<div class="div float-left"></div>
<div class="clear-both"></div>
posted @ 2013-08-11 17:58  CalronLoveRonnie  阅读(248)  评论(0编辑  收藏  举报
AmazingCounters.com