【问题标题】:Drag/Drop calculation tool拖放计算工具
【发布时间】:2016-05-24 15:57:34
【问题描述】:

我正在构建一个“产品配置器”。我想要做的是,当从列表中拖动产品并放入“可定制”区域时,总价格会发生变化。到目前为止,我已经这样做了:

HTML

<div id="sidePanel">
     <ul id="list-two" class="linked">
     <li id="PTB1" data-price="45"><img src="PTB%201.jpg"></li>
     <li id="PTB2" data-price="55"><img src="PTB%202.jpg"></li>
     <li id="PTB3" data-price="67"><img src="PTB%203.jpg"></li>
     <li id="PTB1" data-price="50"><img src="PTB%204.jpg"></li>
 </ul>


 <ul id="list-three" class="linked">
     <li><img src="Screen%201.jpg"</li>
     <li><img src="Screen%202.png"></li>
     <li><img src="Refills.jpg"></li>
 </ul>
</div>

<p class="total">TOTAL $</p>

JavaScript

var totalCost = 0;
var basket = []



$(function() {
$("#list-one").sortable({
    revert: true,
    beforeStop: function(event, ui) {
        $(this).data("lastItem", ui.item);
    },
    receive: function(e, source) {
        basket.push($(".linked li").data('price'));
            for (var i = 0; i < basket.length; i++) {
            totalCost += basket[i] << 0;
        $("p.total").html("Total: $"+totalCost)
            }

    }
});

$(".linked li").draggable({
    connectToSortable: "#list-one",
    helper: "clone",
    revert: "invalid"
});

$("ul, li, img").disableSelection();
});

我遇到的问题是,每当我将新产品拖放到可自定义区域时,它只/总是采用列表中第一个产品的数据价格 (45),而且似乎计算不是正确发生。但是,我想定位拖放产品的数据价格。

关于如何解决(或改进)问题的任何想法?

【问题讨论】:

  • the calculation is not happening correctly...等等,为什么在将价格添加到总金额时使用&lt;&lt; 0?你是用它来删除小数吗?..

标签: javascript jquery html jquery-ui drag-and-drop


【解决方案1】:

我稍微修改了你的代码,这样你就不必使用 '

receive: function(e, source) {
    var item = parseInt(source.item[0].dataset.price);
    basket.push(item);
    totalCost = 0;

    for (var i = 0; i < basket.length; i++) {
        totalCost += basket[i];
        $("p.total").html("Total: $"+totalCost)
      }
}

【讨论】:

    猜你喜欢
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2020-05-26
    • 2011-06-23
    相关资源
    最近更新 更多