用于查找具有不透明度属性的元素的 jQuery 语法

标签 jquery html css

我有以下函数来控制四个图像的不透明度属性,这些图像的 ID 分别是自行车、汽车、公共(public)汽车和步行。这是我编写的代码,用于在每次单击图像时更改不透明度。

function changebike() {
    $('#bike').css('opacity','1.0');
    $('#car').css('opacity','0.5');
    $('#bus').css('opacity','0.5');
    $('#walk').css('opacity','0.5');
};

function changecar() {
    $('#bike').css('opacity','0.5');
    $('#car').css('opacity','1.0');
    $('#bus').css('opacity','0.5');
    $('#walk').css('opacity','0.5');
};

function changebus() {
    $('#bike').css('opacity','0.5');
    $('#car').css('opacity','0.5');
    $('#bus').css('opacity','1.0');
    $('#walk').css('opacity','0.5');
};

function changewalk() {
    $('#bike').css('opacity','0.5');
    $('#car').css('opacity','0.5');
    $('#bus').css('opacity','0.5');
    $('#walk').css('opacity','1.0');
};

我需要写一个这样的函数

function changeItem(item) {
    var elements = $('*').filter(function() {
                        var options=['0.5','1.0'];
                        return $.inArray($(this).css('opacity'), options) > -1;
                    });
    elements.css('opacity','0.5');
    $(item).css('opacity','1.0');
};

在 HTML 中,我这样调用函数

<img src="bike.png" id="bike" onclick="changeItem('#bike')" />

但是,上面的代码不起作用。请指出我的错误并更正代码。 :-) 谢谢

最佳答案

有点像,但是你必须定义你的 ID

function changeItem(item) {
    var elementIDs = ["#bike", "#car", "#bus", "#walk"];
    $.each(elementIDs, function(k, v){
        var op = 0.5;
        if( item == v )
            op = 1;
        $(v).css('opacity', op)
    });
};

关于用于查找具有不透明度属性的元素的 jQuery 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8239089/

相关文章:

html - 添加颜色 block 作为 <li> 元素符号

javascript - 无法获取json数据,给出Cors或回调错误

javascript - 当用户离开 ckeditor 或页面时触发的事件

javascript - 触发另一个元素下的元素事件

css - 文本的彩虹色

html - 所有 child 的 CSS 非选择器

javascript - 如何使用 Kendo 禁用和启用复选框

javascript - 检查 block 可见性

html - 更改输入类型 ="file"上的光标类型

javascript - 是否可以通过按 enter 从 HTML 表单中的一个控件移动到另一个控件?