如何根据数量建立价格下降的jquery价格计算器?

时间:2013-09-18 18:25:20

标签: jquery

我正在寻找一种方法让潜在买家根据他们想要购买的商品数量来计算价格。

我的产品的单价会因数量而下降。

例如,从1到500个单位,产品成本为20美元 从500到1000,价格为17 $
从1000到5000,价格是13美元等等..

我找到了计算价格的脚本,但他们以'线性'的方式做到了这一点 Like this one for example
Or This one

是否可以调整这些脚本来计算滑块中“断点”的价格?
从0到500总价格将是= 20 $ x商品数量
从500到1000总价格将是= 17 $ x项目数等......

非常感谢

ps:你可以猜到,我有基本的编程技巧

2 个答案:

答案 0 :(得分:1)

您可能想要一个类似这样的数据结构:

products = {
    7: {
        id: 7,
        title: "My Product",
        // note that the prices are in increasing order of minimum threshold
        // for quantity (i.e. 0 for 0-500, THEN 500 for 500-1000 THEN
        // 1000 for 1000-5000, etc., in that order)
        price: {
            0: 20,
            500: 17,
            1000: 13
        }
    },
    10: {
        id: 10,
        title: "My Other Product",
        price: {
            0: 50,
            500: 45,
            1000: 40
        }
    },
    ...
}

接下来,计算产品X的价格(即id = X)和数量Q:

var correctPrice = -1;
for (var threshold in products[X].price) {
    if (Q >= threshold)
        correctPrice = products[X].price[threshold];
}

if (correctPrice > -1)
    // use correctPrice here

使用此功能,您可以拥有任意数量的具有任意数量阈值和价格的产品,并以编程方式使用正确的价格进行计算。

答案 1 :(得分:0)

这可以解决您的问题。

// quantity segment, price
var priceRanges = [500,20,
                   1000,17,
                   5000,13];

//the function returns the unit price for a given quantity or -1 if out of range.
function getPrice(quantity){
   for (var i = priceRanges.length - 2 ; i >= 0 ; i-=2){
      if (quantity < priceRanges[i]) return priceRanges[i+1];
   }
   return -1;
}