您好,我在使用我的程序时遇到了一些麻烦。我在我的程序开始时设置了一些变量,但是我想用if语句改变它们。眼下的第一个if语句给我我想要的结果,但第二个else if语句可心不是工作和变量所取的“0”如何在jQuery/jS中使用if语句更改变量值
这里的默认值是我的jQuery代码的开始:
jQuery(".repair-grid-item1").click(function(){
jQuery(".repair-grid-item1 i").toggle();
jQuery(".repair-grid-item1").toggleClass("grid-active");
jQuery('.repair-grid-item1').gg();
});
(function($){
$.fn.gg = function() {
var price = 0;
var one = 0;
var two = 0;
var three = 0;
var four = 0;
var five = 0;
var six = 0;
// *** this code block is working, returning correct values ***
if (jQuery(".repair-grid-item").hasClass("iPhone5")) {
var one = 85;
var two = 70;
var three = 75;
var four = 65;
var five = 75;
var six = 80;
}
// *** this code block isnt working, returning default values of 0 ***
else if (jQuery(".repair-grid-item").hasClass("iPhone5c")) {
var one = 85;
var two = 70;
var three = 75;
var four = 65;
var five = 75;
var six = 80;
}
//one only
if (jQuery(".repair-grid-item1").hasClass("grid-active") &&
!jQuery(".repair-grid-item2").hasClass("grid-active") &&
!jQuery(".repair-grid-item3").hasClass("grid-active") &&
!jQuery(".repair-grid-item4").hasClass("grid-active") &&
!jQuery(".repair-grid-item5").hasClass("grid-active") &&
!jQuery(".repair-grid-item6").hasClass("grid-active"))
{
price = one;
document.getElementById("total-price").innerHTML = price;
localStorage.setItem("sum", price);
}
};
})(jQuery);
这里是我的html一小段代码(这是iPhone5的页面)
<div class="repair-grid-item repair-grid-item1 iphone5">
<h3>Screen Repair</h3>
<i class="fa fa-check-circle-o fa-2x" aria-hidden="true"></i>
</div>
iphone5c页:
<div class="repair-grid-item repair-grid-item1 iphone5c">
<h3>Screen Repair</h3>
<i class="fa fa-check-circle-o fa-2x" aria-hidden="true"></i>
</div>
谢谢!
这可能有助于“Javascript可变范围”http://stackoverflow.com/a/500459/2008111请参阅示例1 - 3 – caramba
也许你需要[匹配案例]( http://stackoverflow.com/a/2580031/615754)你的选择器与HTML中的类?有更多的代码比显示的更多吗?除了'one',你永远不会使用任何这些变量的值。 – nnnnnn
@nnnnnn我试过你的解决方案,它的工作!谢谢! –