改dataTables并实现新的功能

本文介绍如何为Datatables插件生成的搜索框添加CSS3动画效果,包括修改JavaScript代码以应用新样式类及实现鼠标聚焦时的动画扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Datatables是一款基于jQuery表格插件,他能给你动态生成一个input框,类型是search,


今天搞了一个后台模板,老大要求实现这个input搜索框的功能是:  鼠标放进去有个延伸的动画。这个自己写好写,但是改别人封装好的代码就不是那么简单了


1.在dataTables.bootstrap.js里面这个文件夹下面,能看到我们生成的input框的代码:

$.extend($.fn.dataTableExt.oStdClasses, {
    "sWrapper": "dataTables_wrapper form-inline",
    "sFilterInput": "form-control input-sm input-search",
    "sLengthSelect": "form-control input-sm"
});


我给他加了一个新的类名叫 input-search,方便后面获取


2.写css3动画

.add_Ani{
	animation: cer .5s forwards;
}
.add_Ani2{
	animation: cer2 .5s forwards;
}
@keyframes cer{
	from{width: 180px;}
	to{width: 220px;}
}
@keyframes cer2{
	from{width: 220px;}
	to{width: 180px;}
}

3. 最后一步,被卡了一段时间,我开始是直接这样写:

$(".input-search").focus(function(){
		$(this).addClass("add_Ani");
		$(this).removeClass("add_Ani2");
	})
	$(".input-search").focusout(function(){
		$(this).removeClass("add_Ani");
		$(this).addClass("add_Ani2")
	})
没有效果,  妈蛋,后来一想,既然input框是js生成的,那应该是页面加载完我再获取才能获取到,所以正确代码是:

$(function(){
	console.log($(".input-search"));
	$(".input-search").focus(function(){
		$(this).addClass("add_Ani");
		$(this).removeClass("add_Ani2");
	})
	$(".input-search").focusout(function(){
		$(this).removeClass("add_Ani");
		$(this).addClass("add_Ani2")
	})
})






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值