$()。html()仅在第一次使用

时间:2014-11-05 16:30:04

标签: javascript jquery html css

我有一个页面,其中有一个div,表示"隐藏代码" 我里面还有一个东西 该div应该检查p是否可见。 如果是,它将隐藏p并将div的内容更改为"显示代码" 这只适用于第一次 我的意思是,如果p被隐藏,它将被显示和返回,但div的内容只会变为"显示代码"并且永远不会回到"隐藏代码" 我的代码:

<div id="toggleCode">Hide code</div>
<p id="code">
    At first this is visible
</p>

#toggleCode{
    color:red;
    background:dodgerblue;
}

$(document).ready(function(){
$("#codearea").css({"height":"15em","width":"15em","background":"gold","margin-top":"5em","border":"4px solid aqua"});

$(".ranges").change(function(){
    $tl=$("#tl").val()+"px "
    $tr=$("#tr").val()+"px "
    $bl=$("#bl").val()+"px "
    $br=$("#br").val()+"px "
    $code=$tl+$tr+$br+$bl;
    $("#codearea").css("border-radius",$code);
});
$("#toggleCode").click(
    function(){
        if ($("#code").is(":visible")){
            $("#toggleCode").html("Show code");
            $("#code").hide();
        }
        else{
            $("#toggle").html("Hide code");
            $("#code").show();
        }

    });
$("#resetCode").click(
    function () {
        $(".ranges").val(0);
        $("#codearea").css("border-radius",0);
    });

});

还有一个jsfiddle:http://jsfiddle.net/9yrjuhv4/ 任何想法

2 个答案:

答案 0 :(得分:2)

替换

$("#toggle").html("Hide code");

$("#toggleCode").html("Hide code");

此外,由于$("#code").is(":visible"),您必须等到动画结束。我建议直接将切换状态保存为JavaScript中的变量。

答案 1 :(得分:0)

$("#toggleCode").click(
	function(){
        
		if ($("#code").is(":visible")){
			$(this).html("Show code");
		}
		else{
          $(this).html("HIDE code");
			$("#toggle").html("Hide code");
		}
		$("#code").toggle(789);
	});
#toggleCode{
    color:red;
    background:dodgerblue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="toggleCode">Hide code</div>
	<div id="code">
		At first this is visible
	</div>

试试这个:demo