jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
本文实例讲述了jQuery基于toggle实现click触发DIV的显示与隐藏。分享给大家供大家参考,具体如下:
研究了一下toggle之click触发DIV的显示与隐藏,现在把代码发上来。
HTML代码:
<inputtype="button"id="btn"title="Clickme你会看到效果"value="点击此处"/> <divid="content"style="padding:10px;margin-top:5px;border:1pxdotted#BBB;"> <p>每次点击时切换要调用的函数。<br/>如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一元素时,<br/> 则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。 可以使用unbind("click")来删除。</p> </div>
JQuery代码:
完整版:
<scriptsrc="jquery.js"></script> <scriptlanguage="javascript"> $( function(){ $("#btn").toggle( function(){$(this).click(function(){$("#content").hide();})}, function(){$(this).click(function(){$("#content").show();})} ); } ) </script>
简写版(推荐):
<scriptsrc="jquery.js"></script> <scriptlanguage="javascript"> $(function(){ $("#btn").toggle( function(){$("#content").hide();}, function(){$("#content").show();} ); }) </script>
问题:
使用jQuerytoggle时,点击后会闪一下,DIV才出来
<div> <imgsrc="${ctx}/images/face.png"height="20"onclick="Effect.toggle('font_div','slide');returnfalse;"/> </div> <divid="font_div"style="display:none;"> <ul> <li> <astyle="color:black;font-size:10px"href="#"onclick="NYSfont2('black');returnfalse;">■</a> </li> </ul> <div>
程序如上,我想点击一个图片实现font_div隐藏与显示,但是实际情况是当我点击了这个图片后font_div部分不是很顺利的就显示出来,而是先把整个font_div显示出来,然后又重新慢慢显示。就像是闪了一下,再实现我要的效果!隐藏的时候也是一样,先慢慢的隐藏,当隐藏完之后紧接着又闪一下。不知道这是怎么回事?请指教!!!!
问题补充:
问题解决了,就因为在文件里少了
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
加上这一行就一点问题没有了!
解决方法:
这里给出一个简单的例子,可以达到上述效果:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>无标题文档</title> <scriptsrc="jquery.js"></script> <script> $(function(){ $("#shift").click(function(){ $("p").slideToggle("slow"); }); }); </script> </head> <body> <div> <inputtype="button"id="shift"value="点击这里"/> <pstyle="display:none">我想点击一个图片实现font_div隐藏与显示,但是实际情况是当我点击了这个图片后font_div部分不是很顺利的就显示出来,而是先把整个font_div显示出来,然后又重新慢慢显示。就像是闪了一下,再实现我要的效果!隐藏的时候也是一样,先慢慢的隐藏,当隐藏完之后紧接着又闪一下。不知道这是怎么回事?请指教!!!!</p> </div> </body> </html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jquery中Ajax用法总结》、《jQuery表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》
希望本文所述对大家jQuery程序设计有所帮助。