2016-03-07 101 views
1

我正在使用JavaScript代码。而不是隐藏。我想如果div是可见的,然后隐藏在页面加载。点击按钮应该可见。但目前它正在做相反的事情。使用显示或显示在JavaScript

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#lnkbtn").click(function() { 
      if ($('#divreg').is(":hidden")) { 
       $('#divreg').show(500); 
       document.getElementById('lnkbtn').innerHTML = "Hide"; 
      } else { 
       $("#divreg").hide(500); 
       document.getElementById('lnkbtn').innerHTML = "Show"; 

      } 

     }); 
    }); 
</script> 

HTML:

<asp:Button ID="lnkbtn" runat="server" Text="Additional Details" CausesValidation="False" OnClientClick="return false;" /> 
    <div id="divreg"> 
    <p> Some content here.. </p> 
    </div> 
+0

显示你的HTML代码或使小提琴。 – Sumanta736

+0

因为你使用jQuery代替部分代码 - 为什么不使用$('#lnkbtn')。html('隐藏')?或$('#lnkbtn')。text('Hide') – gavgrif

+0

https://jsfiddle.net/pqho3tvg/3/ – Zaki

回答

0
在你的提琴

,你正在使用"display:none"为CSS隐藏的div,但你检查正在使用:hidden这意味着它永远不会真正的考验;您需要将css更改为"visibility:hidden",并且按预期工作

0

请参阅此fiddle

您可以隐藏它的jQuery load,检查它是否是可见的隐藏:

if ($('#divreg').is(":visible")) { 
    $("#divreg").hide(); 
} 

然后在您的click事件进行隐藏/显示:

$("#lnkbtn").click(function() { 
    if ($('#divreg').is(":hidden")) { 
    $('#divreg').show(500); 
    $('#lnkbtn').val("Hide"); 
    } else { 
    $("#divreg").hide(500); 
    $('#lnkbtn').val("Show"); 

    } 

});