简体   繁体   English

单击带有类的链接时显示div

[英]Show a div when a link with a class is clicked

I am wanting to show/fadein a <div> with an ID of "signInHold" when the <li> "Sign In" is clicked using the class signInActive on the <li> . 我想使用<li>上的signInActive类单击<li> “登录”时,显示/淡入ID为“ signInHold”的<div> <li>

<ul class="nav1">
    <li class="nav2">
        <a href="http://rocketcss.com" class="nav2">Home</a>
    </li>
    <li class="nav2">
        <a href="http://rocketcss.com/settings" class="nav2">Settings</a>
    </li>
    <li class="nav2">
        <a href="http://rocketcss.com/download" class="nav2">Download</a>
    </li>
    <li class="nav2 signInActive">
        <a href="http://rocketcss.com/download" class="nav2">Sign In</a>
    </li>
</ul>

Could you please also tell me if I need to add: 您能否也告诉我是否需要添加:

<script src="http://code.jquery.com/jquery-latest.js"></script>

You can do this with jQuery, or you can do it with straight CSS using the transition property; 您可以使用jQuery来执行此操作,也可以使用transition属性使用普通CSS来执行此操作; it's entirely up to you and the needs of your project. 这完全取决于您和项目的需求。

jQuery will give you far better cross-browser support: jQuery将为您提供更好的跨浏览器支持:

$(".nav1").on("click", ".signInActive", function () {
    $(".bar").fadeIn();
});

Or, you could do it with CSS: 或者,您可以使用CSS来做到这一点:

.foo {
    opacity: 0;
}

.foo.activated {
    transition: opacity 2s;
    opacity: 1;
}

And simply toggle the class: 只需切换类即可:

var element = document.querySelector(".signInActive");
var target  = document.querySelector(".myDIV");

element.addEventListener("click", function () {
    target.classList.toggle("activated");
}, false);

If you're going to use jQuery (in the head) 如果您要使用jQuery(在头)

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>

$(document).ready(function() {

      $("#signInHold").hide();
      $(".signInActive").click(function() {
          $("#signInHold").fadeToggle("slow"); <--This targets the div with ID signInHold
      });
});

</script>

I think this is what you're looking for: 我认为这是您要寻找的:

$('.signInActive').click(function () { $('#signInHold').show(); });

This assumes you do load jQuery, of course. 当然,这假设您确实加载了jQuery。

Yes you need to add jquery Add the class signIn to your li and now when you click the div will appear and the class signInActive added to you 是的,您需要添加jquery将类signIn添加到li中,现在当您单击div时,将出现并将类signInActive添加到您中

<li class="nav2 signIn">
 <a href="http://rocketcss.com/download" class="nav2">Sign In</a>
</li>

$(document).ready(function(){
  $('.signIn').click(function(){
    $('#signInHold').fadeIn(300);
    $(this).addClass('signInActive');
  });
}); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM