您的位置:首页 > 其它

每日记载内容总结18

2013-08-11 17:58 591 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: