为了解释我的问题,我有以下代码段。 我的代码段可以按照我的意愿运行,但只能在“onclick”之后。当我加载页面时,它将无法获得正确的值。在这种情况下,我希望当我点击“显示每月”出现80€,当我点击显示年度出现800€。但它只在我点击后才有效,而不是在我加载页面时。
谢谢
//Trying to set the initial value
$(document).ready(function() {
$(".teste").ready(function() {
var initialVal = $(this).html();
if(initialVal !== "Show Monthly"){
jQuery(".amountMonth").hide();
jQuery(".amountAnnual").show();
}else{
jQuery(".amountMonth").show();
jQuery(".amountAnnual").hide();
}
});
});
//OnClick is working right
$(document).ready(function() {
$(".teste").click(function(e) {
e.preventDefault();
var initialVal = $(this).html();
if(initialVal !== "Show Monthly"){
$(".showAnnualMonthly a").text("Show Monthly");
$(".perYearMonth").text("per year");
jQuery(".monthlyOptions").hide();
$("#arrowUpDown").removeClass("icon-up-arrow-button");
$("#arrowUpDown").addClass("icon-down-arrow-button");
jQuery(".amountMonth").hide();
jQuery(".amountAnnual").show();
}
else if (initialVal !== "Show Annual"){
$(".showAnnualMonthly a").text("Show Annual");
$(".perYearMonth").text("per month");
jQuery(".monthlyOptions").show();
$("#arrowUpDown").removeClass("icon-down-arrow-button");
$("#arrowUpDown").addClass("icon-up-arrow-button");
jQuery(".amountMonth").show();
jQuery(".amountAnnual").hide();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="amount amountAnnual" style="display:none">Annual --> 600€</p>
<p class="amount amountMonth" style="dispay:none">Monthly--> 60€</p>
<p class="showAnnualMonthly" id="showMonthlyOpt">
<a href="" style="border:0; text-decoration:none;" class="teste">Show Monthly
<div class="row">
<span id="arrowUpDown" class="icon-down-arrow-button changeArrow" style="color: rgba(0, 161, 204, 1); margin-bottom:30px; font-size:36px;"></span>
</div>
</a>
</p>
答案 0 :(得分:1)
只需运行显示和隐藏p
内$(document).ready()
元素但在点击处理程序之外的代码。不需要第一个$(document).ready()
功能;你可以把它们组合成一个。