gpt4 book ai didi

javascript - jQuery 卡路里计算器条件

转载 作者:行者123 更新时间:2023-12-01 03:03:15 25 4
gpt4 key购买 nike

我正在构建一个卡路里计算器,想寻求一些帮助。代码如下:

$(document).ready(function() {
$('.ingredient').click(function() {
var totalNum = $('#total');
var totalCarbs = $('#totalCarbs');
var totalFats = $('#totalFats');
var totalProteins = $('#totalProteins');
var pressed = $(this).hasClass('clicked');
var currentCalories = +totalNum.html();
var currentCarbs = +totalCarbs.html();
var currentFats = +totalFats.html();
var currentProteins = +totalProteins.html();

if (pressed) {
$(this).removeClass('clicked');
var calories = $(this).data('calories');
var carbs = $(this).data('carbs');
var fat = $(this).data('fat');
+totalNum.html(currentCalories - calories);
+totalCarbs.html(currentCarbs - carbs);
+totalFats.html(currentFats - fat);
+totalProteins.html(currentProteins - proteins);
} else {
$(this).addClass('clicked');
var calories = $(this).data('calories');
var carbs = $(this).data('carbs');
var fat = $(this).data('fat');
var proteins = $(this).data('fat');
+totalNum.html(currentCalories + calories);
+totalCarbs.html(currentCarbs + carbs);
+totalFats.html(currentFats + fat);
+totalProteins.html(currentProteins + fat);
}

var attr = $(this).attr('vegan');
console.log(attr);
if (typeof attr !== typeof undefined && attr !== false) {
$('#type').text("This is Vegan!")
$('#typeImage').attr("src", "https://upload.wikimedia.org/wikipedia/hi/thumb/b/b2/Veg_symbol.svg/768px-Veg_symbol.svg.png");
} else {
$('#type').text("This is not Vegan!")
$('#typeImage').attr("src", "http://www.hellocurry.com/images/nonveg_icon.png");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>padthai wokbar calorie counter</title>
<link rel="stylesheet" href="css/style.css">
</head>

<body>
<div class="header">
<img src="http://blog.padthaiwokbar.com/wp-content/uploads/2017/09/logofinal.png" alt="padthai wokbar" style="width:300px;" />
<h1>How did you build your bowl?</h1>
<p>Select all the ingredients you added to your padthai wokbar meal and we'll do the rest.</p>
<br />
<div class="ingredients">
<h2 style="color:#6FC0BB;">Bases</h2>
<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" data-vegan="true" vegetarian>
<p>Rice Noodles</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Egg Noodles</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Vermicelli</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Whole Grain Noodle</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>White Rice</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Brown Rice</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Vegetable Base</p>
</div>

<h2 style="color:#C84327;">Proteins</h2>
<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chicken</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Pork</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Smoked Tofu</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Beef</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Duck</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Prawns</p>
</div>

<h2 style="color:#90A94D;">Toppings</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Vegetable Mix</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Cashew</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Sweet Peppers Mix</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Wood Ear Mushroom</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Mushroom</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Pineapple</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Bamboo Shots</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chinese Cabbage</p>
</div>

<h2 style="color:#424040;">Sauces</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Thailand-Padthai</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chinese Sweet and Sour</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Burma- Green Curry</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Indonesia- Satay</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Laosz- Red Curry</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Japan- Teriyaki</p>
</div>

<h2 style="color:#6FC0BB;">Extra Toppings</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Roasted Peanut</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Coriander</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Sesame Seed</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Basil</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegan>
<p>Coconut Chips</p>
</div>

<h2 style="color:#C84327;">Desserts</h2>

<div class="ingredient" data-calories="40" data-carbs="250">
<p>Cumin Lemon Vinaigrette</p>
</div>

<div class="ingredient" data-calories="40" data-carbs="250">
<p>Honey Cilantro Vinaigrette</p>
</div>

<div class="total">
Total calories: <span id="total"></span>
Total Carbs:<span id="totalCarbs"></span>
Total Fat:<span id="totalFats"></span>
Total Protein:<span id="totalProteins"></span>

<br>
<img id="typeImage" src="" height="50" width="50" alt="Select Something!"/>
<span id="type"></span>
<img id="typeImagevega" src="" height="50" width="50" alt=""/>
<span id="typevega"></span>
</div>
</div>
<script src='https://code.jquery.com/jquery-2.2.4.min.js'></script>
<script src="js/index.js"></script>
</body>
</html>

这是我的问题。我想根据不同的饮食(古饮食、素食、素食、生酮等)创建菜单推荐

现在,我有 1 个带有 attr 的项目。素食主义者(椰子片),但条件并没有按照我想要的方式工作。我想要实现的是让人们点击一个“非素食”项目,比如鸡肉,然后弹出红色图标(到目前为止一切都很好),但是如果我之后点击椰子片,它就会变成绿色。 .现在这不应该发生^^。如果所有单击的项目都具有“纯素食”属性,则会显示绿色按钮,否则显示红色按钮。如果没有单击任何项​​目,该按钮就会消失。

提前谢谢您!

最佳答案

这里有一个解决方案 https://jsfiddle.net/jhw4v5dd/

$(document).ready(function() {
var vegan = true;
$('.ingredient').click(function() {
var totalNum = $('#total');
var totalCarbs = $('#totalCarbs');
var totalFats = $('#totalFats');
var totalProteins = $('#totalProteins');
var pressed = $(this).hasClass('clicked');
var currentCalories = +totalNum.html();
var currentCarbs = +totalCarbs.html();
var currentFats = +totalFats.html();
var currentProteins = +totalProteins.html();

if (pressed) {
$(this).removeClass('clicked');
var calories = $(this).data('calories');
var carbs = $(this).data('carbs');
var fat = $(this).data('fat');
+totalNum.html(currentCalories - calories);
+totalCarbs.html(currentCarbs - carbs);
+totalFats.html(currentFats - fat);
+totalProteins.html(currentProteins - proteins);
} else {
$(this).addClass('clicked');
var calories = $(this).data('calories');
var carbs = $(this).data('carbs');
var fat = $(this).data('fat');
var proteins = $(this).data('fat');
+totalNum.html(currentCalories + calories);
+totalCarbs.html(currentCarbs + carbs);
+totalFats.html(currentFats + fat);
+totalProteins.html(currentProteins + fat);
}

var attr = $(this).attr('vegan');
if (typeof attr !== typeof undefined && attr !== false) {
if(vegan) {
$('#type').text("This is Vegan!");
$('#typeImage').attr("src", "https://upload.wikimedia.org/wikipedia/hi/thumb/b/b2/Veg_symbol.svg/768px-Veg_symbol.svg.png");
}
} else {
$('#type').text("This is not Vegan!");
vegan = false;
$('#typeImage').attr("src", "http://www.hellocurry.com/images/nonveg_icon.png");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="header">
<img src="http://blog.padthaiwokbar.com/wp-content/uploads/2017/09/logofinal.png" alt="padthai wokbar" style="width:300px;" />
<h1>How did you build your bowl?</h1>
<p>Select all the ingredients you added to your padthai wokbar meal and we'll do the rest.</p>
<br />
<div class="ingredients">
<h2 style="color:#6FC0BB;">Bases</h2>
<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" data-vegan="true" vegetarian>
<p>Rice Noodles</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Egg Noodles</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Vermicelli</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>Whole Grain Noodle</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegetarian>
<p>White Rice</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Brown Rice</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Vegetable Base</p>
</div>

<h2 style="color:#C84327;">Proteins</h2>
<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chicken</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Pork</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Smoked Tofu</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Beef</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Duck</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Prawns</p>
</div>

<h2 style="color:#90A94D;">Toppings</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Vegetable Mix</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Cashew</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Sweet Peppers Mix</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Wood Ear Mushroom</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Mushroom</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Pineapple</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Bamboo Shots</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chinese Cabbage</p>
</div>

<h2 style="color:#424040;">Sauces</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Thailand-Padthai</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Chinese Sweet and Sour</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Burma- Green Curry</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Indonesia- Satay</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Laosz- Red Curry</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Japan- Teriyaki</p>
</div>

<h2 style="color:#6FC0BB;">Extra Toppings</h2>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Roasted Peanut</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Coriander</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Sesame Seed</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150">
<p>Basil</p>
</div>

<div class="ingredient" data-calories="300" data-carbs="150" data-fat="250" data-proteins="150" vegan>
<p>Coconut Chips</p>
</div>

<h2 style="color:#C84327;">Desserts</h2>

<div class="ingredient" data-calories="40" data-carbs="250">
<p>Cumin Lemon Vinaigrette</p>
</div>

<div class="ingredient" data-calories="40" data-carbs="250">
<p>Honey Cilantro Vinaigrette</p>
</div>

<div class="total">
Total calories: <span id="total"></span>
Total Carbs:<span id="totalCarbs"></span>
Total Fat:<span id="totalFats"></span>
Total Protein:<span id="totalProteins"></span>

<br>
<img id="typeImage" src="" height="50" width="50" alt="Select Something!"/>
<span id="type"></span>
<img id="typeImagevega" src="" height="50" width="50" alt=""/>
<span id="typevega"></span>
</div>
</div>

我创建了一个名为 vegan 的变量,并将值指定为 true,但您仍然不点击non-veg,该值仍然为真。

一旦您点击non-veg项目,变量的值就会更改为 false。

更改了 JavaScript 中的代码

if (typeof attr !== typeof undefined && attr !== false) {
if(vegan) {
$('#type').text("This is Vegan!");
$('#typeImage').attr("src", "https://upload.wikimedia.org/wikipedia/hi/thumb/b/b2/Veg_symbol.svg/768px-Veg_symbol.svg.png");
}
} else {
$('#type').text("This is not Vegan!");
vegan = false;
$('#typeImage').attr("src", "http://www.hellocurry.com/images/nonveg_icon.png");
}

希望这对您有帮助。

关于javascript - jQuery 卡路里计算器条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46339157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com