Я пытаюсь сократить следующий код (который работает), используя переменные.Это кажется излишним, так что да.
<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>