javascript - JS计价问题,真不知道哪里错了浏览器也不报错
大家讲道理
大家讲道理 2017-04-11 11:38:09
[JavaScript讨论组]

心好累刚学JS怎么稍微复杂点的代码写一个错一个改七八遍还是不对真不知道哪出错了



    
        
        
        
    
    
        
  • 0 单价:12.5 小计:0元
  • 0 单价:18 小计:0元
  • 0 单价:9.5 小计:0元
  • 0 单价:6.3 小计:0元
  • 0 单价:48.5 小计:0元

商品合计共:0件,共花费了:0元

其中最贵的商品单价是:0元。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
怪我咯

我想問題是出在你直接對著元素做運算了

這邊省略其他代碼


// 這是取得元素,不是裡面的值喔~
var ost = oli.getElementsByTagName("strong")[0];

btn1.onclick = function(){
// ost 是一元素,不能直接這樣運算
ost--;
if(ost<0){
    ost=0;
}
ost.innerHTML=n1;
ospan.innerHTML=n1*n2+"元";

}

可以改成

btn1.onclick = function(){
    // 取得 ost 裡面的 值,並轉換類型
    var currentNumber = parseInt(ost.innerHTML)
    // 這裡用到三元運算子 減一後小於零則返回 0 ,否則返回 currentNumber
    ost.innerHTML = --currentNumber < 0 ? 0 : currentNumber;
    ospan.innerHTML = n1 * n2 + "元";
}

btn2.onclick = function(){
    var currentNumber = parseInt(ost.innerHTML)
    ost.innerHTML = ++currentNumber;
    ospan.innerHTML = n1 * n2 + "元";
}
PHP中文网

你在fn函数中输出oli 你会发现他一直等于oli【0】,这里涉及到一个知识点叫闭包

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号