JQuery 知识点

1:animate 动画效果

$(function () {
    $(".sidebar-nav a").mouseover(function () {
        $(this).animate({ paddingLeft: "+=8px" },200);
    });
    $(".sidebar-nav a").mouseout(function () {
        $(this).animate({ paddingLeft: "-=8px" }, 200);
    });
});

效果:

QQ截图20140425141415

QQ截图20140425141426

参数 描述
styles

必需。规定产生动画效果的 CSS 样式和值。

可能的 CSS 样式值(提供实例):

注释:CSS 样式使用 DOM 名称(比如 "fontSize")来设置,而非 CSS 名称(比如 "font-size")。

speed

可选。规定动画的速度。默认是 "normal"。

可能的值:

  • 毫秒 (比如 1500)
  • "slow"
  • "normal"
  • "fast"
easing

可选。规定在不同的动画点中设置动画速度的 easing 函数。

内置的 easing 函数:

  • swing
  • linear

扩展插件中提供更多 easing 函数。

callback

可选。animate 函数执行完之后,要执行的函数。

如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。

 

2:二选一功能

问题是这样的:当我点击编辑按钮时会出现编辑的输入框,但是当我点击其它编辑按钮时,先前的那个输入框没有消失而再次点击的输入框也显示,如图:

QQ截图20140507154300

想通过jquery实现:点击其它编辑按钮时,先前的编辑输入框消失而再次点击的输入框显示,这就是二选一功能,实现代码如下:

……

{
            sTitle: "操作",
            mData: null,
            sClass: "lClass",
            fnRender: function (oObj) {
                return '<a href="#" onclick="javascript:edit(this)">编辑</a> | <a href="javascript:void(0)" onclick="del_click(\'' + oObj.aData.Id + '\')" class="editor_remove">删除</a>';
            }
        }

……

var e_tr = "";
function edit(e) {
    cancelEdit();
    e_tr = $(e).parent().parent();
   
    var val = $(e).parent().parent().children("td:eq(0)").children().html();
    $(e).parent().parent().children("td:eq(0)").children().attr("style", "display:none");
    $(e).parent().parent().children("td:eq(0)").append("<span><input style='margin:0;padding:0 0 0 10px;height:20px;width:140px;border-radius:20px;font-size:10px;' type='text' onkeydown=' ' maxlength=30 value='" + val + "' />"
        + " <a href='#' class='button' onclick='return false;'>保存</a>"
        + " <a href='#' class='button red' onclick='javascript:cancelEdit();return false;'>取消</a></span>");
}

function cancelEdit() {
    if (e_tr) {
        e_tr.children("td:eq(0)").children("span:eq(0)").attr("style", "display:inline");
        e_tr.children("td:eq(0)").children("span:eq(1)").remove();
    }
    e_tr = null;
}

QQ截图20140507155241

漂亮,成功实现了功能,其实之前也实现过类似的功能只是没有记录博客,以防下次会用到,这次参考的是csdn的代码(有csdn博客的朋友可以看看)。

posted @   Seaurl  阅读(514)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示