列表项不透明度 0.7(活动项除外)

发布于 2024-12-11 20:49:13 字数 820 浏览 0 评论 0原文

我更改了不透明度为 0.7 的列表项,效果很好。在同一个列表中,我有一个类和 id 为“active”的列表项。

含义是活动列表项的不透明度为 1,但这不起作用。

这是 jQuery:

            $("#active").css({ opacity: 1 });
            $(".nav_top ul li a").css({ opacity: 0.7 });

            $(".nav_top ul li a").hover(function()
            {
                $(this).animate({ opacity: 1 });
            },
            function()
            {
                $(this).animate({ opacity: 0.7 });
            });

这是列表:

<div class="nav_top">
    <ul>
<li class="active"><a href="#">item 1</li>
<li><a href="#">item 2</li>
<li><a href="#">item 3</li>
<li><a href="#">item 4</li>
<li><a href="#">item 4</li>

I changed the list-items with an opacity of 0.7 what works fine.In the same list i have a list-item with the class and id "active".

The meaning is that the opacity of the active list-item is 1 but that won't work.

This is the jQuery:

            $("#active").css({ opacity: 1 });
            $(".nav_top ul li a").css({ opacity: 0.7 });

            $(".nav_top ul li a").hover(function()
            {
                $(this).animate({ opacity: 1 });
            },
            function()
            {
                $(this).animate({ opacity: 0.7 });
            });

This is the list:

<div class="nav_top">
    <ul>
<li class="active"><a href="#">item 1</li>
<li><a href="#">item 2</li>
<li><a href="#">item 3</li>
<li><a href="#">item 4</li>
<li><a href="#">item 4</li>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

御守 2024-12-18 20:49:13

您可以使用 CSS 和一点 jQuery 来完成这一切

<div class="nav_top">
    <ul>
        <li class="active"><a href="#">item 1</a></li>
        <li><a href="#">item 2</a></li>
        <li><a href="#">item 3</a></li>
        <li><a href="#">item 4</a></li>
        <li><a href="#">item 4</a></li>
    </ul>
</div>

,并使用这些跨浏览器不透明度样式:

.nav_top li {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
}

.nav_top li.active {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    -khtml-opacity: 1.0;
    opacity: 1.0;
}

以及一些 jQuery

// hover on the li, not the a, since the li has the class
$(".nav_top ul li").hover(function() {
    $(this).animate({ opacity: 1 });
}, function() {
    $(this).animate({ opacity: 0.7 });
});

You can do this all with CSS and a little jQuery

<div class="nav_top">
    <ul>
        <li class="active"><a href="#">item 1</a></li>
        <li><a href="#">item 2</a></li>
        <li><a href="#">item 3</a></li>
        <li><a href="#">item 4</a></li>
        <li><a href="#">item 4</a></li>
    </ul>
</div>

and use these cross browser opacity styles:

.nav_top li {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
}

.nav_top li.active {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    -khtml-opacity: 1.0;
    opacity: 1.0;
}

and some jQuery

// hover on the li, not the a, since the li has the class
$(".nav_top ul li").hover(function() {
    $(this).animate({ opacity: 1 });
}, function() {
    $(this).animate({ opacity: 0.7 });
});
三岁铭 2024-12-18 20:49:13
// Global "all are 0.7 opacity" rule
// exclude the li with the active class though [:not(.active)]
$(".nav_top ul li:not(.active) a")
  // change items to 0.7 opacity
  .css({ opacity: 0.7 })
  // and bind to hover
  .hover(function(){
      $(this).animate({ opacity: 1 });
  },function(){
      $(this).animate({ opacity: 0.7 });
  });

但有几件事:

  1. 确保关闭锚点()标签)
  2. 您可以使用 :not() 排除 < code>active class

此处找到演示:http://jsfiddle.net/xJF7X/2/

// Global "all are 0.7 opacity" rule
// exclude the li with the active class though [:not(.active)]
$(".nav_top ul li:not(.active) a")
  // change items to 0.7 opacity
  .css({ opacity: 0.7 })
  // and bind to hover
  .hover(function(){
      $(this).animate({ opacity: 1 });
  },function(){
      $(this).animate({ opacity: 0.7 });
  });

A couple of things though:

  1. Make sure to close your anchor (<a></a>) tags)
  2. You can use :not() to exclude the active class <li>

Demo found here: http://jsfiddle.net/xJF7X/2/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文