JQuery toggle使用分析

2016-02-19 14:41 7 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的JQuery toggle使用分析教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

今天重点一个toggle(fn,fn,….)函数,主要是用来切换某个事件的轮换操作。
比如:对一个按钮的点击事件和一个DIV的背景,点击一次按钮,将DIV的背景显示为蓝色,点击第二次的时候要将DIV的
背景色改为黑色。
我们定义的HTML代码如下:
body
input type="button" id="btnShow" value="Toggle"/
div id="DivToggle"此处显示 id "DivToggle" 的内容/div
/body
定义的最初的样式如下:
代码如下:
#DivToggle {
height: 150px;
width: 200px;
margin: 50px;
background-color: #6CC;
}


在toggle(fn,fn,….);先明白一个toggle()的函数,主要是用来切换元素的显示状态。如果一个元素是显示的,那么调用.toggle()之后就变得隐藏了。

JQuery代码:
代码如下:
script type="text/javascript"
$(
function() {
$("#btnShow").click(function(event) {
$("#DivToggle").toggle();
});
}
);
/script

点击按钮之后DIV隐藏,再次点击DIV显示,然后循环。

这里我们可以手动设置元素的显示和隐藏,显示:toggle(true);隐藏:toggle(false);

我们还可以为元素的隐藏和显示设置速度。

$("#DivToggle").toggle(600);


当然到这里我们可以想到我们经常在网页中碰到的将鼠标移上去显示出来,然后鼠标移开则隐藏掉的效果。

这里当然用到了一个hover(fnover,fnout)事件。我们只要将fnover,和fnout设置为以上的toggle(600)即可;

这里的fnover是鼠标移上去的事件函数, fnout是鼠标移开的事件函数。

我们将toggle(600)单独设置为一个函数来调用,这样看起来代表比较易读。
代码如下:
script type="text/javascript"
$(

function(event) {
$("#btnShow").hover(OverOut, OverOut);
function OverOut(event) {
$("#DivToggle").toggle(600);
}
}
);
/script

这样我们把鼠标移动到按钮上面,然后移开,就可以看到DivToggle的隐藏和显示的效果了。

为了演示toggle(fn,fn,…)是轮换操作的,我们使用上面的一个函数,然后再加一个使用btnShow的Click事件先隐藏显示DIV,然后该表DIV的样式。

显示隐藏的代码可以这样(事实上这段代码是有问题的,但是居然这样写也能实现要的效果):
代码如下:
script type="text/javascript"
$(
function(event) {
function OverOut(event) {
$("#DivToggle").toggle(600);
}
$("#DivToggle").toggle(function() {
$("#btnShow").click(OverOut);
}, function() {
$("#btnShow").click(OverOut);
});
}
);
/script

回过头来看这段代码觉得很有问题,本身toggle(fn,fn,…)是用来给指定的元素加上Click事件,然后再对这个元素循环做toggle
里面的那些函数。突然感觉有点搅在那里了。像麻花一样。望牛牛能解释一下。
这样为了演示toggle的轮循函数的效果就没有办法,通过单击按钮,再改变Div的样式了。
改变DIV样式的代码这样:
代码如下:
script type="text/javascript"
$(
function(event) {
function OverOut(event) {
$("#DivToggle").toggle(600);
}
$("#DivToggle").toggle(function() {
$(this).click(function() { $(this).css("background", "Blue"); });
}, function(event) {
$(this).click(function() { $(this).css("background", "Green"); });
});
}
);
/script

到这里我突然想到,要实现以上的效果,那就直接把事件加载到按钮上,也就是”btnShow”上面也就是先隐藏显示,然后改变DIV的样式。详细的代码如下:
代码如下:
script type="text/javascript"
$(
function(event) {

function OverOut(event) {
$("#DivToggle").toggle(600);
}

$("#btnShow").toggle(
OverOut, OverOut,
function() { $("#DivToggle").css({ "background": "Green" }); },
function() { $("#DivToggle").css({ "background": "Blue" }); }
);

}
);
/script

这样能实现以上要的效果,就是先隐藏,再显示,再改变样式。

来源:http://www.tulaoshi.com/n/20160219/1607608.html

延伸阅读
标签: Web开发
$("标签名") //取html元素 document.getElementsByTagName("") $("#ID") //取单个控件document.getElementById("") $("div #ID") //取某个控件中 控件 $("#ID #ID") // 通过控件ID取其中的控件 $("标签.class样式名") //通过class来取控件 $("#ID").val(); //取value值 $("#ID").val(""); //赋值 $("#ID").hide(); //隐藏 $("#ID").show...
标签: Web开发
一些简单的代码简化 下面是一个简单示例,它说明了 jQuery 对代码的影响。要执行一些真正简单和常见的任务,比方说为页面的某一区域中的每个链接附加一个单击(click)事件,您可以使用纯 JavaScript 代码和 DOM 脚本来实现,如 清单 1 所示。 清单 1 :没有使用 jQuery 的 DOM 脚本 var external_links = document.getElementById('exte...
标签: Web开发
jQuery 是什么? jQuery 由 John Resig 创建于 2006 年初,对于任何使用 JavaScript 代码的程序员来说,它是一个非常有用的 JavaScript 库。无论您是刚刚接触 JavaScript 语言,并且希望获得一个能解决文档对象模型(Document Object Model,DOM)脚本和 Ajax 开发中一些复杂问题的库,还是作为一个厌倦了 DOM 脚本和 Ajax 开发中无聊的...
标签: Web开发
jQuery 使用手册,大家可以耐心的看完,就基本上入门了。 一:核心部分 $(expr) 说明:该函数可以通过css选择器,Xpath或Html代码来匹配目标元素,所有的jQuery操作都以此为基础 参数:expr:字符串,一个查询表达式或一段html字符串 例子: 未执行jQuery前: pone/p div ptwo/p /div pthree/p a href="#" id=...
标签: Web开发
小试了下AJAX,感觉比prototype简洁多了,在JQuery中,AJAX有三种实现方式:$.ajax(),$.post,$.get()。 XHTML(主要): div id="result" style="background:orange;border:1px solid red;width:300px;height:400px;"/div form id="formtest" action="" method="post" pspan输入姓名:/spaninput type="text" name="username" id="input1" //p ...

经验教程

725

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部