【发布时间】:2013-11-18 21:22:54
【问题描述】:
我有一个 jquery 脚本,它可以调整一个带有地图的 div 的大小,当它这样做时,被单击以执行操作的 div 的状态会发生变化,并且其中的文本也会发生变化。
初始状态是图像:
<div class="menu"><img src="../images/expand.png" width="20px" /></div>
然后当它点击它时,它会删除图像并说出“关闭”这个词然后当你点击关闭时,它会再次变为“打开”
这里是 jQuery:
<script type='text/javascript'>//<![CDATA[
$(window).load(function(){
$(".menu").on('click', function() {
var state = $(this).data('state');
if ( state ) {
$("#googleMap").animate({height: 100 }, 800);
state = false;
}else{
$("#googleMap").animate({height: 300 }, 800);
state = true;
}
$(this).text(state ? 'Close' : 'Open');
$(this).data('state', state);
});
});//]]>
</script>
这是我要更改的行:
$(this).text(state ? 'Close' : 'Open');
这是我失败的尝试:
$(this).text(state ? '<img src="../images/shrink.png" width="20px" />' : '<img src="../images/expand.png" width="20px" />');
我通过谷歌搜索找到了这个问题的答案,我知道它非常简单,所以如果有人知道最好的事情,我正在寻找一个提示。
【问题讨论】:
-
试试 $(this).html(state ? '' : '');
标签: javascript jquery html