【问题标题】:jQuery fade in active element, fade out inactive elementsjQuery淡入活动元素,淡出非活动元素
【发布时间】:2013-07-28 05:17:26
【问题描述】:

更新

使用:

$(event.currentTarget).fadeTo(0, 1);

使用时似乎可以工作:

$('.btn .active').fadeTo(0, 1);

没有。知道为什么吗?

代码

jsFiddle 链接在这里:http://jsfiddle.net/SeanKilleen/fwerK/

JavaScript 代码如下:

var global_loggedOnUser = "User1";

$(document).ready(function () {

    var viewmodel = (function () {
        this.feedbacktype = ko.observable("None");
        this.currentPage = ko.observable(location.href);
        this.currentUsername = global_loggedOnUser;

        this.updateFeedbackType = function (item, event) {
            var newText = $(event.currentTarget).children("span").text();
            $('#buttonList button').removeClass('active');
            $(event.currentTarget).addClass('active');

            feedbacktype(newText);
            $('.btn').not('.active').fadeTo('fast', 0.3);
            $('.btn .active').fadeTo('fast', 1);
        };



        return {
            pageUserIsOn: currentPage,
            theUser: currentUsername,
            feedbackType: feedbacktype
        };
    })();


    ko.applyBindings(viewmodel);
});

目标

  • 我有一个按钮列表。
  • 当有人点击按钮时,我想确保他们点击的按钮变为 100% 不透明度,其余按钮变为 30% 容量。

我试图通过向按钮添加一个“活动”类并将其从所有其他按钮中删除,然后基于类执行淡入淡出来完成此操作。

问题

  • 第一次点击,按预期工作。被点击的按钮是 100% 的不透明度,所有其他按钮都会消失。
  • 第二次,先前突出显示的元素消失,但单击的按钮不会变为 100% 不透明度,尽管被赋予“活动”css 类。
    • 我在活动类中添加了一个边框大小元素,以便验证这一点。被点击的项目扩展了它的边框,但不会淡化到 100% 的不透明度。

我错过了什么?

【问题讨论】:

  • 看起来你已经得到了正确的答案,但我肯定会保留var $target = $(event.currentTarget) 的上下文,以便你以后使用它。使用$('.btn.active') 业务再次选择元素是没有意义的。
  • @sfjedi 我同意 100%。很高兴解决了它,因为它令人抓狂,但坚持将其作为目标。感谢您参与澄清坚持目标是更好的选择。

标签: javascript jquery css jquery-selectors opacity


【解决方案1】:

去掉类之间的空格,你想选择两个类都不是.active后代.btn的元素

$('.btn .active').fadeTo('fast', 1);

应该是

$('.btn.active').fadeTo('fast', 1);

Updated fiddle

【讨论】:

  • 就是这样!保留 event.currentTarget 语法,因为我认为它更有意义,但感谢您为我解决了这个问题(在那里让我发疯了几分钟)。
猜你喜欢
  • 2011-07-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 2014-03-19
  • 1970-01-01
  • 2011-07-04
  • 2023-04-09
  • 1970-01-01
相关资源
最近更新 更多