我正在尝试使用函数对此值进行布尔更改。我这样试过:
var itemInStock = false;
$("#button").click(function(){
itemInStock = true
}
if( itemInStock === false){
document.write("item is out of stock");
} else{
document.write("item is in stock");
}
我理解为什么它不起作用但我找不到解决这个问题的方法!
答案 0 :(得分:3)
我只能猜出你想要实现的目标。好像你想在某个时候检查,如果项目目前有库存。由于您无法知道何时会发生点击,因此一种解决方案可能会定期检查该值。
(function () {
var itemInStock = false;
$("#button").click(function () {
itemInStock = true
});
window.setInterval(function () {
if (itemInStock === false) {
console.log("item is out of stock");
} else {
console.log("item is in stock");
}
}, 500);
})()
告诉我,如果我的猜测错了。
更新:方式更简单
$(function () {
var $state = $('#state');
$state.text('item is out of stock');
$("#button").click(function () {
$state.text('item is in stock');
});
})
<button id="button">click me</button>
<div id="state"></div>
http://jsfiddle.net/Wb3ET/ 只需点击即可直接进行。
答案 1 :(得分:0)
因为在单击按钮之前,itemInStock不会更改...
答案 2 :(得分:0)
加载后不能使用document.write,也不需要在单击按钮时更改布尔值
创建一个id =“status”且具有
的范围var itemInStock = false;
$(function() {
$("#button").click(function(){
itemInStock = true;
$("#status").html("item is in stock":
}
$("#status").html(itemInStock?"item is in stock":"item is out ofstock");
});
答案 3 :(得分:0)
// HTML
<div id="status">item is out of stock by default</div>
// JS
var itemInStock = false;
$("#button").click(function(){
itemInStock = true;
}, changeStatus());
function changeStatus(){
if( itemInStock === false){
$('#status').html("item is out of stock");
} else{
$('#status').html("item is in stock");
}
}