初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能


Posted in Javascript onDecember 26, 2011

解决思路:
1、 在标题处增加一个【—】【+】号,供用户点击。
2、 用户收缩和展开屏幕的行为保存在Cookie里面。页面重新加载或者用户重新登录系统,仍然能记住用户的行为。


优点:1、使用Jquery插件的形式来做,容易扩展。容易实现。

2、 保存在Cookie的行为,容易实现,减少工作量,用户也能接收。如保存在数据库,则增加页面的负载。

缺点:不能每个页面使用单独行为,既是:每次用户的收缩和扩展在系统都是全局的。并且到其他计算机登录、或者清除缓存之后,就不能记住用户的操作了。


首先使用js函数的方式实现。然后改成Jquery插件:代码

/* 
* TableToggle 0.1 
* Copyright (c) 2011 Novus_lee http://www.cnblogs.com/novus 
* Date: 2011-12-23 
* 在SageCRM的查询屏幕隐藏部分行的功能 
*/ 
(function($){ 
$.fn.TableToggle = function(options){ 
var defaults = { 
plussrc : "/upload/201112/20111226224658296.gif", //--[+]号图片 
minussrc : "/upload/201112/20111226224658809.gif", 
line : 2 
} 
var options = $.extend(defaults, options); 
var flip = 0, i = 0; 
this.each(function(){ 
var $thisTable = $(this); 
var claName = "btntoggle" + i; 
//--所在表格的上方增加图片按钮 
var $Title = $thisTable.parent().parent().parent().find("td.PANEREPEAT"); 
$Title.prepend("<a href='javascript:void(0);' class='" + claName + "' style='cursor:pointer;padding-right:10px;'><img style='border:0px;' src='" + options.minussrc + "'></a>"); 
var trlen = $thisTable.find("tr").length; 
options.line = (options.line > trlen ? trlen : options.line); 
$Title.find("a." + claName).click(function () { 
$thisTable.find("tr:gt(" + options.line + ")").toggle(flip++); 
if (flip % 2 == 0) 
{ 
$Title.find("img[src*='smallplus']").attr("src",options.minussrc); 
$.cookie(claName, "plus"); 
} 
else 
{ 
$Title.find("img[src*='smallminus']").attr("src",options.plussrc); 
$.cookie(claName, "smallminus"); 
} 
}); 
if ($.cookie(claName) == "smallminus" || $.cookie(claName) == "" || $.cookie(claName) == null) 
{ 
$("a." + claName).click(); 
} 
i++; 
}); 
}; 
})(jQuery);

插件还调用了一个jquery的Cookie插件。
调用的方法:
<script type="text/javascript" src="../scripts/jquery.js"></script> 
<script type="text/javascript" src="../scripts/cookie.js"></script> 
<script type="text/javascript" src="../scripts/toggleblock.js"></script> 
<script type="text/javascript"> 
<!-- 
$(function(){ 
$("table.CONTENT:eq(0)").TableToggle(2); 
}) 
//--> 
</script>

效果如图:

收缩:

初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能

展开:

初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能

PS: SageCRM是什么只支持IE7、 IE8的。所以这里的插件并没有测试浏览器兼容性。

Javascript 相关文章推荐
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
给jQuery方法添加回调函数一款插件的应用
Jan 21 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
jQuery判断元素是否存在的可靠方法
May 06 Javascript
原生JavaScript实现合并多个数组示例
Sep 21 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
Dec 01 Javascript
laydate 显示结束时间不小于开始时间的实例
Aug 11 Javascript
微信小程序修改swiper默认指示器样式的实例代码
Jul 18 Javascript
细说webpack6 Babel的使用详解
Sep 26 Javascript
Vue extend的基本用法(实例详解)
Dec 09 Javascript
非常有用的40款jQuery 插件推荐(系列二)
Dec 25 #Javascript
JS代码优化技巧之通俗版(减少js体积)
Dec 23 #Javascript
关于跨站脚本攻击问题
Dec 22 #Javascript
js DOM的学习笔记
Dec 22 #Javascript
jquery 年会抽奖程序
Dec 22 #Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 #Javascript
jquery随机展示头像代码
Dec 21 #Javascript
You might like
PHP模拟SQL Server的两个日期处理函数
2006/10/09 PHP
php打造属于自己的MVC框架
2012/03/07 PHP
常用PHP框架功能对照表
2014/10/23 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
jquery购物车实时结算特效实现思路
2013/09/23 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
JS通过位运算实现权限加解密
2018/08/14 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
django1.8使用表单上传文件的实现方法
2016/11/04 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
PageFactory设计模式基于python实现
2020/04/14 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
什么是方法的重载
2013/06/24 面试题
财务会计毕业生自荐信
2013/11/02 职场文书
银行出纳岗位职责
2013/11/25 职场文书
函授教育个人学习的自我评价
2013/12/31 职场文书
同事吵架检讨书
2014/02/05 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
工作目标责任书
2014/07/23 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
Python访问Redis的详细操作
2021/06/26 Python
Python NumPy灰度图像的压缩原理讲解
2021/08/04 Python