本文介绍了jQuery-CSS像素值减去百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从许多元素中获取一堆background-position-y值,并从像素值中减去一个百分比,然后将该新值分配给每个元素.例如.减去40px的30%= 28px.我下面的代码无法正常工作.

I'm trying to get a bunch of background-position-y values from a number of elements and minus a percentage from the pixel value and then assign that new value to each element. E.g. Minus 30% of 40px = 28px. My code below is not working as expected.

var jq = jQuery;
var icon = jq('#weather i');
jq(icon).each(function(){
    var bgPosX = jq(this).css('background-position-x');
    var bgPosY = jq(this).css('background-position-y');
    var bgPosYNew = bgPosY - 30%;
    jq(this).css({
        'background-position-x' : bgPosX,
        'background-position-y' : bgPosYNew
    });
});

推荐答案

尝试简化:

jq(this).css('background-position-x','-=30%');

或如克劳斯所说:

jq(this).css('background-position-x','*=.7');

如果您要干燥,请尝试以下操作:

If you go DRY try this:

jQuery(this).css({backgroundPositionX:'*=.7', backgroundPositionY:'*=.7'});

这篇关于jQuery-CSS像素值减去百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 21:53