不推荐使用函数toggle(),我不知道如何处理这个问题。我尝试了一些解决方案,但没有一个适合我。这是我的最后一次尝试(仍然无效);
<script>
$("#clickId").click(function(){
var $block = $("#myDiv"),
$this = $(this);
$block.slideToggle(function(){
$this.text($block.is(':display') ? 'hidden' : 'block');
});
});
</script>
<a href="#" id="clickId" ><img src="/img/sample.png" alt="sample"/></a>
<div id="myDiv" style="display: none !important">
修改 我改变了下面的行,但仍然没有工作。
$this.text($block.is(':visible') ? 'false' : 'true');
<div id="myDiv" visible="false">
答案 0 :(得分:2)
javascript未识别$("#clickId")
和$("#myDiv")
,因为dom未加载。
使用$(document).ready()
或将您的脚本放在dom(标记a和div)
答案 1 :(得分:1)
slideToggle
的第一个参数是持续时间,然后回调函数:
$('#btn').click(function() {
$('#mydiv').slideToggle(0.5, function () {
$('#btn').text($(this).is(':visible') ? 'visible' : 'hidden');
});
});
答案 2 :(得分:0)
我只是简化你的功能:
$("#clickId").click(function(){
$("#myDiv").slideToggle();
});