在字段值上创建无限循环

时间:2012-02-06 19:21:51

标签: javascript loops infinite-loop

所以我在bigcartel上创建一个商店,我想添加一个免费送货选项。但是他们目前不允许你把它添加到特定的国家。我目前正在添加编码,以显示div或在用户总数超过85英镑时提醒用户,并选择英国作为他们的设计。

ATM我认为我的代码不会循环..好吧它似乎没有:/ 我需要它循环,以便它在客户添加或减去项目时检查总价格的价值。这将是+或 - 总金额。

我有

 var amount = {{ cart.total }} ;
 var country = {{ store.country | country_select }};

 t=setTimeout("checkprice()",10);

 function checkprice()
  {
 if(amount >= 85 || country = 45 )
 { 
   alert('OVER 85!') ;

  }
  else
  {
alert('monkeys')
  }
}

EDIT! 08 /二月/ 12

根据@kolink的建议:我已经提出了这个,,,

  //----get variables--
 var amount = {{ cart.total }};
 var moose = document.getElementById("country");

    function freedel() 
    {
      if (moose = 42 || amount >= 85 )  
    { 
        document.getElementById("moose").style.visibility='visible';     
     }
          else 
     {
      alert('WRONG!')
      }
      }

HTML是:

        <div id="moose" style="visibility:hidden;"> dfgsdgfdsg</div>

    <h3 id="cart_price" onChange="freedel()">{{ cart.total | money_with_sign  }}</h3>

1 个答案:

答案 0 :(得分:1)

你告诉它在页面加载后10毫秒检查价格,然后你永远不会告诉它再次运行。

如果您的代码有效,它会显示警报,然后再显示10毫秒(这时间还不足以解决问题)。

除了更新checkprice();cart.total之外,您应该在代码中添加store.country。也许onChange事件可以帮助你。

作为旁注,永远不要在setTimeout中使用字符串。传递函数本身(即。setTimeout(checkprice,10);)或匿名函数(是。setTimeout(function() {checkprice();},10);