jquery实现隔行变色、图片放大预览、无刷新批量删除

1.页面(html+css)

CSS:body{

text-align:center; margin:0 auto;

 }

table{

width:500px; border-collapse:collapse;text-align:center; margin:0 auto;

}

table tr th,td{

border:solid 1px #666; text-align:center;

}

table tr th{

background-color:#09F;}

table tr td img{

width:80px; height:100px;}

.clsImg{

position:absolute; border:1px solid #096;

display:none; width:240px; height:320px;}

HTML:

<body>

<table>

<tr>

<th>选项</th><th>编号</th><th>封面</th>

</tr>

<tr id="0">

<td><input id="checkbox1" type="checkbox" value="0"/></td>

<td>10001</td>

<td><img  src="psu.jpg" /></td>

</tr>

<tr id="1">

<td><input id="checkbox2" type="checkbox" value="1"/></td>

<td>10002</td>

<td><img  src="psu.jpg" /></td>

</tr>

<tr id="2">

<td><input id="checkbox3" type="checkbox" value="2"/></td>

<td>10003</td>

<td><img  src="psu.jpg" /></td>

</tr>

</table>

 

<table>

<tr><td style="text-align:left; height:28px;">

<span><input id="chkAll" type="checkbox" />全选</span>

<span><input id="btnDel" type="button" value="删除" /></span>

</td></tr>

</table>

<img id="imgTip" class="clsImg" src="psu (1).jpg" />

</body>

2.jquery代码

$(function(){

//隔行变色

$("table tr:nth-child(odd)").css("background-color","#9FF"); 

//全选框单击事件

$("#chkAll").click(function(){

if(this.checked){

$("table tr td input[type=checkbox]").attr("checked",true);

} else{

$("table tr td input[type=checkbox]").attr("checked",false);

}

}) 

//删除按钮点击事件

$("#btnDel").click(function(){

//获取除了全选框外的所有选中项

var len=$("table tr td input:checked:not('#chkAll')").length;

//如果有选中项

if(len!=0){

//遍历除了全选框外的行

$("table tr td input[type=checkbox]:not('#chkAll')").each(function(index) {

            //如果被选中了,根据每行的checkbox的值来删除该行,this.value就是遍历到改行的checkbox的值,同时也是改行tr的id的值,根据id进行删除行

           if(this.checked){

$("table tr[id="+this.value+"]").remove();

}

            });

}

})

//图片预览功能--->小图片移动事件

var x=5; var y=15;

$("table tr td img").mouseover(function(e){

//设置图片和显示图片:

//原理:给之前隐藏的图片设置css属性,将当前鼠标停留的图片赋予src的值,再设置位置与小图片的相对位置

$("#imgTip").attr("src",this.src).css({"top":(e.pageY+y)+"px","left":(e.pageX+x)+"px"}).show(500);

})

//鼠标移除后

$("table tr td img").mouseout(function(){

$("#imgTip").hide();

})

})

</script>

3. 后续使用修改说明

    (一)如果页面的html有多个table,那就加上指定table的id,写法是:$("#table_id,table tr:nth-child(odd)"),这样就实现了指定哪一个table的操作

    (二)批量删除table的tr,同时又将数据库的记录删掉,就直接在$("table tr[id="+this.value+"]").remove();下面直接调用jquery的$.post或者$.get方法传给处理删除的文件即可

你可能感兴趣的:(jquery)