Как и в названии, я хотел бы, чтобы пользователь нажал кнопку и получил новое значение. В этом случае это кнопка для переключения меню из скрытого в видимое и наоборот. Вот мой код.
Я хочу, чтобы он сказал "show menu" и "hide menu",
Прямо сейчас я нажимаю, открывается меню и устанавливается новое значение, а меню может закрываться, но значение не возвращается.
JQuery:
$(function () {
$("#UIcontainer").hide();
$("#button").click(function() {
$("#UIcontainer").toggle( function() {
$("#button").val('hide menu');
});
});
});
$(function () {
$("#UIcontainer").hide();
$("#button").on('click', function() {
$("#UIcontainer").toggle();
this.value = this.value == 'hide menu' ? 'show menu' : 'hide menu';
});
});
это будет так. установите атрибут вашей кнопки. например, переключить.
<input type="button" toggle="show">
$(function () {
$("#button").click(function() {
if ($this.attr("toggle")=="show"){
$("#UIcontainer").show();
$this.attr("toggle")="hide"
}
else{
$("#UIcontainer").hide();
$this.attr("toggle")="show"
}
});
});
Протестировано и работает как шарм
<input type="button" id="button" value="hide menu" />
<div id='UIcontainer'>fladfl</div>
<script type="text/javascript">
$(function () {
$("#button").click(function() {
var val = $(this).val();
if(val=="hide menu") {
$("#button").val('show menu');
} else {
$("#button").val('hide menu');
}
$("#UIcontainer").toggle();
});
});
</script>
Пытаться:
$(function () {
$("#UIcontainer").hide();
$("#button").click(function() {
$("#UIcontainer").toggle();
$(this).val($(this).val() == "hide menu" ? "show menu" : "hide menu");
});
});