jQuery淡入活动元素,淡出不活动元素
jQuery fade in active element, fade out inactive elements
更新
使用:
$(event.currentTarget).fadeTo(0, 1);
似乎工作,同时使用:
$('.btn .active').fadeTo(0, 1);
没有。知道为什么吗?
守则
jsFiddle链接:http://jsfiddle.net/SeanKilleen/fwerK/
下面的JavasScript代码:
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类。
- 我在活动类中添加了一个border-size元素,这样我就可以验证这一点。单击的项目将展开其边框,但不会淡入到100%的不透明度
我错过了什么?
如果要选择两个类都不是.btn
的.active
后代的元素,请删除类之间的空格
$('.btn .active').fadeTo('fast', 1);
应该是
$('.btn.active').fadeTo('fast', 1);
更新的fiddle
相关文章:
- 在弹出元素中淡入淡出
- 用于append元素的jQuery淡入淡出
- 重用用于淡入淡出元素的代码,这样我就不会'我不必重复我的代码
- 拒绝淡出或进入的元素
- 如何重复淡入和淡出容器元素的跨度
- 我试图用jQuery让每个HTML5元素一次淡出一个
- jQuery淡出元素,替换内容并淡入
- 淡入淡出切换jquery元素
- 淡出推特引导popover上的不同元素
- 淡出和淡入到同一元素处的另一图像
- 使用 Jquery 使一个元素淡出,一个新元素淡入
- 如何在标题中的所有元素中淡入淡出
- Jquery淡入,一起淡出一些元素
- 检查元素是否淡出(Javascript/Jquery)
- 淡出所有“LI”元素
- 悬停时查询淡出元素
- 无法让元素淡出/淡入
- 新旧子元素之间的反应过渡淡入淡出
- 如果单击消息框,防止鼠标离开元素淡出
- 淡出当前元素淡出下一个元素并反转