首页 > 编程 > JavaScript > 正文

jQuery基于toggle实现click触发DIV的显示与隐藏问题分析

2019-11-20 09:43:51
字体:
来源:转载
供稿:网友

本文实例讲述了jQuery基于toggle实现click触发DIV的显示与隐藏。分享给大家供大家参考,具体如下:

研究了一下toggle之click触发DIV的显示与隐藏,现在把代码发上来。

HTML代码:

<input type="button" id="btn" title="Click me 你会看到效果" value="点击此处" /><div id="content" style="padding:10px; margin-top:5px; border:1px dotted #BBB;"><p>每次点击时切换要调用的函数。<br />如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,<br />则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。可以使用unbind("click")来删除。 </p></div>

JQuery代码:

完整版:

<script src="jquery.js"></script><script language="javascript">$(function(){$("#btn").toggle(function(){$(this).click(function(){$("#content").hide();})},function(){$(this).click(function(){$("#content").show();})});})</script>

简写版(推荐):

<script src="jquery.js"></script><script language="javascript">$(function(){$("#btn").toggle(function(){$("#content").hide();},function(){$("#content").show();});})</script>

问题:

使用jQuery toggle时,点击后会闪一下,DIV才出来

<div >   <img src="${ctx }/images/face.png" height="20" onclick="Effect.toggle('font_div','slide'); return false;" /></div><div id="font_div" style="display: none;"><ul><li><a style="color: black; font-size: 10px" href="#" onclick="NYSfont2('black');return false;">■</a></li></ul><div>

程序如上,我想点击一个图片实现font_div隐藏与显示,但是实际情况是当我点击了这个图片后font_div部分不是很顺利的就显示出来,而是先把整个font_div显示出来,然后又重新慢慢显示。就像是闪了一下,再实现我要的效果!隐藏的时候也是一样,先慢慢的隐藏,当隐藏完之后紧接着又闪一下。不知道这是怎么回事?请指教!!!!

问题补充:

问题解决了,就因为在文件里少了

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加上这一行就一点问题没有了!

解决方法:

这里给出一个简单的例子,可以达到上述效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script src="jquery.js"></script><script>$(function(){ $("#shift").click(function(){$("p").slideToggle("slow");  });});</script></head><body><div ><input type="button" id="shift"value="点击这里" /><p style="display:none">我想点击一个图片实现font_div隐藏与显示,但是实际情况是当我点击了这个图片后font_div部分不是很顺利的就显示出来,而是先把整个font_div显示出来,然后又重新慢慢显示。就像是闪了一下,再实现我要的效果!隐藏的时候也是一样,先慢慢的隐藏,当隐藏完之后紧接着又闪一下。不知道这是怎么回事?请指教!!!!</p></div></body></html>

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结

希望本文所述对大家jQuery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表