手动实现jQuery的toggle()效果
有时候我们希望实现toggle()切换效果,但是切换的同时需要完成一些其他要做的事情。所以我们需要对jQuery的toggle()函数进行改造。
下面好test2()函数就是一个实现toggle效果的函数:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script src="jquery.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
function test1() {
$("#test").toggle();
} function test2() {
if($("#test").css('display') == 'none') {
//自己的处理
$("#test").show();
} else {
//自己的处理
$("#test").hide();
}
}
</script>
</head> <body>
<button type="button" onclick="test1()" value="">方式一</button>
<button type="button" onclick="test2()" value="">方式二</button>
<div id="test">
测试div
</div>
</body> </html>
也可以用原生的js实现:
var display = document.getElementById(‘id’).style.display;
if(display=='none'){
document.getElementById(‘id’).style.display = '';
}else{
document.getElementById(‘id’).style.display = 'none';
}
效果可以实现div的隐藏与显示。
一个完整的隐藏菜单栏与改变页面内容区大小的JS
/**
* Qlq 2018.1.17缩进菜单(菜单的缩回去与显示效果)
*/
$(function() { // 菜单栏的缩放
$("#toggleMenu").click(function() {
toggleMenu();
}); });
// 图标的点击事件(缩进菜单)
function toggleMenu() {
// 将菜单显示出来
if ($(".el_left").css('display') == 'none') {
//1.先将右面缩回去。2.右边完成之后左边菜单显示
$(".el_right").animate({
width : "87%"
}, {
duration : 1000,
complete : function() {
$(".el_left").show(1000);
//更换图标的src属性
$("#toggleMenu").prop("src",contextPath+"/image/show.png");
}
});
} else {
// 将菜单隐藏掉
//1.先将菜单缩回去。2.左边完成之后右边界面占满全屏
$(".el_left").hide(1000, function() {
$(".el_right").animate({
width : "100%"
}, 1000);
//更换图标的src属性
$("#toggleMenu").prop("src",contextPath+"/image/hide.png");
}); }
}
另一个toggle效果,在隐藏与显示之后更换图标:(bootstrap框架)
/** *****************S QLQ 显示与隐藏查询条件******************** */
function toggleQueryDiv() {
// 点击显示查询条件与分割符
if ($("#queryDiv").css("display") == "none") {
$("#queryDiv").show(
"slow",
function() {
// 删除class属性(切换上下箭头)
$(".glyphicon-chevron-down").removeClass().addClass(
"glyphicon glyphicon-chevron-up").prop("title",
"点击隐藏查询条件");
});
} else {//隱藏条件与分割符
$("#queryDiv").hide(
"slow",
function() {
//删除class属性(切换上下箭头)
$(".glyphicon-chevron-up").removeClass().addClass(
"glyphicon glyphicon-chevron-down").prop("title",
"点击显示查询条件");
});
}
}
/*******************E QLQ 显示与隐藏查询条件*********************/
另一个toggle效果,在隐藏与显示之后更换提示内容:(layui框架)
/** *****************S 显示与隐藏培养方案基本信息******************** */
/**
* 显示与隐藏培养方案基本信息
* @param obj
*/
function toggleTrainSchemeBaseInfoDiv(obj) {
// 点击显示查询条件与分割符
if ($("#trainSchemeBaseInfo").css("display") == "none") {
$("#trainSchemeBaseInfo").show(
"slow",
function() {
$(obj).attr("title","点击隐藏培养方案基本信息");
});
} else {//隱藏条件与分割符
$("#trainSchemeBaseInfo").hide(
"slow",
function() {
$(obj).attr("title","点击显示培养方案基本信息");
});
}
}
/*******************E 显示与隐藏查询条件*********************/
手动实现jQuery的toggle()效果的更多相关文章
- jQuery之动画效果show()......animate()
jQuery之动画效果 1.show()显示效果 语法:show(speed,callback) Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow ...
- 关于jQuery中toggle()函数的使用
今天遇到一个有趣的例子,将它记录下来. 一个一级菜单,里边有一个二级菜单,二级菜单是通过锚点来链接页面元素的.想要实现的效果是当点击锚点时,页面链接到相应锚点,同时二级菜单隐藏,再点击一级菜单时,继续 ...
- JQuery hover toggle事件使用
JQuery hover toggle事件使用: <%@ page language="java" import="java.util.*" pageEn ...
- jQuery操作之效果
jQuery操作之效果 效果操作一共分五类:1.基本,2.滑动,3.淡入淡出,4.自定义,5.设置 show(),hide(),toggle() 代码如下: html代码: <p style=& ...
- jQuery Easing 动画效果扩展--使用Easing插件,让你的动画更具美感。
jQuery Easing 是一款比较老的jQuery插件,在很多网站都有应用,尤其是在一些页面滚动.幻灯片切换等场景应用比较多.它非常小巧,且有多种动画方案供选择,使用简单,而且免费. 引入Eas ...
- 第一百七十二节,jQuery,动画效果
jQuery,动画效果 学习要点: 1.显示.隐藏 2.滑动.卷动 3.淡入.淡出 4.自定义动画 5.列队动画方法 6.动画相关方法 7.动画全局属性 一.显示.隐藏 jQuery 中显示方法为:. ...
- jQuery 收缩展开效果
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...
- js进阶 13-2 jquery动画滑动效果哪些注意事项
js进阶 13-2 jquery动画滑动效果哪些注意事项 一.总结 一句话总结:滑动里面这里up是隐藏,down是显示. 1.jquery动画默认的两个切换效果是什么(swing默认和linear的区 ...
- jquery-12 jquery常用动画效果有哪些
jquery-12 jquery常用动画效果有哪些 一.总结 一句话总结:jquery可以用户animate()自定义动画,也可以slide和fade系列方法来设置动画. 1.动画效果如何设置执行时间 ...
随机推荐
- UVA 11324 The Largest Clique (强连通分量,dp)
给出一个有向图,求一个最大的结点集合,任意两个点u,v.u可到达v或v可到达u. 一个强连通分量肯定一起选的.而且只能在一条路径上. 所以先找出所有scc,然后缩点找一条最大权的路径,按拓扑序跑DAG ...
- 1658: Easier Done Than Said?
1658: Easier Done Than Said? Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 15 Solved: 12[Submit][St ...
- python_112_网络编程 Socket编程
实例1:客户端发小写英文,服务器端返回给客户端大写英文(仅支持一次接受发送) 服务器端: #服务器端(先于客户端运行) import socket server=socket.socket() ser ...
- shell脚本,计算学生分数的题目。
1.计算学生平均分数的值是多少? 2.计算每门课都大于80分的学生姓名.3.计算每门课都小于90分的学生姓名.
- ECMAScript5 [].reduce()
ECMAScript 5 的2个归并数组的方法,reduce() reduceRight() 两个方法都会迭代数组的所有项,然后构建一个最终返回的值. 两个参数: 1.函数,一个在每一项上调用的函 ...
- 【css】报错,错误代码77,CURLE_SSL_CACERT_BADFILE (77)解决方法
CURLE_SSL_CACERT_BADFILE (77) - 读取 SSL CA 证书时遇到问题(可能是路径错误或访问权限问题) 在微信接口相关开发时容易出现此问题 这一般是因为服务更新了相关的软件 ...
- 简单几点让你快速了解python是什么
1.python是什么 python是一种广泛使用的高级编程语言,属于通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年.可以视之为一种改良(加入一些其他编程语言的优点,如面向对象)的LIS ...
- Objective-C 正则表达式使用(1)
学习了一下OC的正则表达式备忘一下 使用正则表达式的步骤: 创建一个一个正则表达式对象:定义规则. 利用正则表达式对象测试,相应的字符串. NSString *userName = @"12 ...
- LeetCode(91) Decode Ways
题目 A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A ...
- PAT Basic 1013
1013 数素数 令P~i~表示第i个素数.现任给两个正整数M <= N <= 10^4^,请输出P~M~到P~N~的所有素数. 输入格式: 输入在一行中给出M和N,其间以空格分隔. 输出 ...