変数を使用して以下のコードを短縮しようとしています。それはかなり冗長であるようです、そうです。変数を使用してjqueryを短縮しようとしました
<script type="text/javascript">
$(document).ready(function(){
$("div.first").click(function()
{
if ($('#firsthidden').css('display') == "block")
{
$("#firsthidden").hide("blind", "slow");
$("div.outer").animate({height:200},"slow");
}
else
{
$("#firsthidden").show("blind", "slow");
$("div.outer").animate({height:390},"slow");
}
if ($('#secondhidden').css('display') == "block")
{
$("#secondhidden").hide("blind", "slow");
}
if ($('#thirdhidden').css('display') == "block")
{
$("#thirdhidden").hide("blind", "slow");
}
});
$("div.second").click(function()
{
if ($('#secondhidden').css('display') == "block")
{
$("#secondhidden").hide("blind", "slow");
$("div.outer").animate({height:200},"slow");
}
else
{
$("#secondhidden").show("blind", "slow");
$("div.outer").animate({height:390},"slow");
}
if ($('#firsthidden').css('display') == "block")
{
$("#firsthidden").hide("blind", "slow");
}
if ($('#thirdhidden').css('display') == "block")
{
$("#thirdhidden").hide("blind", "slow");
}
});
$("div.third").click(function()
{
if ($('#thirdhidden').css('display') == "block")
{
$("#thirdhidden").hide("blind", "slow");
$("div.outer").animate({height:200},"slow");
}
else
{
$("#thirdhidden").show("blind", "slow");
$("div.outer").animate({height:390},"slow");
}
if ($('#secondhidden').css('display') == "block")
{
$("#secondhidden").hide("blind", "slow");
}
if ($('#firsthidden').css('display') == "block")
{
$("#firsthidden").hide("blind", "slow");
}
});
});
</script>
私は変数を使用してこれを短縮しようとしています。コードロジックがダウンしているので、構文/フォーマットの問題だと思います。ここに私の試みです:
<script type="text/javascript">
var x = null;
var a = null;
var b = null;
$(document).ready(function(){
$("#first").click(function()
{
x = $("#firsthidden");
a = $("#secondhidden");
b = $("#thirdhidden");
});
$("#second").click(function()
{
x = $("#secondhidden");
a = $("#firsthidden");
b = $("#thirdhidden");
});
$("#third").click(function()
{
x = $("#thirdhidden");
a = $("#firsthidden");
b = $("#secondhidden");
});
$("div.clicked").click(function()
{
if (x.css('display') == "block")
{
$(x.hide("blind", "slow");
$("div.outer").animate({height:200},"slow");
}
else
{
x.show("blind", "slow");
$("div.outer").animate({height:390},"slow");
}
if (a.css('display') == "block")
{
a.hide("blind", "slow");
}
if (b.css('display') == "block")
{
b.hide("blind", "slow");
}
});
});
</script>
どういうところですか? – aligray
はこれはタブのコンテンツに似ていますか? – ingo
x、a、bのような変数名を使用している人を最後に見たとき、開発者はマネージャーにグループとして参加し、その人を解雇しようとしました。 –