最近才开始学习jq,发现一个问题,下面是个简单的示例,可以成功完成效果,但是当页面加载完成,第一次点击按钮的时候,是没有任何效果的,需要从第二次点击开始产生效果,非常疑惑,望指点。
<script type="text/javascript">
$(document).ready(function(){
$("#Test1").toggle(function(){
$("#testdiv").hide('slow');
},function(){
$("#testdiv").show('fast');
});
});
</script>
============================
<input type="button" value="显示" id="Test1" />
<div id="testdiv" style="display:none;">
asdfadfsafasdfasd
fasdf
asd
fasdfasdfasdfasdf
</div>
将toggle中的$("#testdiv").hide('slow');与$("#testdiv").hide('slow');换一下位置就好了。你的textdiv默认display为 none,toggle中的第一个函数要用show才能显示出来;如果txtdiv默认display为block,toggle中的第一个函数就用hide就没问题了。。。
这个toggle没用过还是手动if else 好了
试试下面的代码。
<style type="text/css">
#testdiv{display: none;}
</style>
<script type="text/javascript">
$(document).ready(function() {
$("#Test1").click(function(event) {
$("#testdiv").toggle();
});
});
</script>
============================
<input type="button" value="显示" id="Test1" />
<div id="testdiv">
asdfadfsafasdfasd fasdf asd fasdfasdfasdfasdf
</div>