如何在 JQuery 中编辑“剪辑”CSS 属性?

Sni*_*now 5 html javascript css jquery

我需要编辑这个“剪辑”CSS 属性:

#bulb_light {
   position: absolute;
   clip:rect(260px, 160px, 260px, 0px);
}
Run Code Online (Sandbox Code Playgroud)

但通常不是,而是多亏了 Jquery 的帮助,所以我尝试了这个:

// CSS 编辑

$("#bulb_light").css('clip', function () {
        return 'rect(' + newy + 'px, 160px, 260px, 0px);';
    });
Run Code Online (Sandbox Code Playgroud)

这是在点击事件中:

$('#Wsender').click(function () {
**//CSS editing** });
Run Code Online (Sandbox Code Playgroud)

请注意,' newy ' 是我创建的变量,它应该代替 'clip' 属性的第一个参数:

rect(newypx, 160px, 260px, 0px);
Run Code Online (Sandbox Code Playgroud)

本来就是这样的。

问题是代码不工作时,我用jQuery增加这个功能,但我发现它的权利在这里在计算器上。可能有什么问题?

这里是完整的源代码供参考

Cod*_*gue 2

只是一个小问题,你不能在 CSS 值的末尾添加分号来使其起作用:

$("#bulb_light").css('clip', function () {
    return 'rect(' + newy + 'px, 160px, 260px, 0px)' /* <-- Removed semicolon */;
});
Run Code Online (Sandbox Code Playgroud)

此外,我不确定在哪里newy定义,您可能不需要为此函数回调,除非newy要为每个元素计算:

$("#bulb_light").css('clip', 'rect(' + newy + 'px, 160px, 260px, 0px)');
Run Code Online (Sandbox Code Playgroud)