Переключить/переключить div (jquery)
Я хочу выполнить довольно простую задачу (надеюсь!)
У меня есть два тега div и 1 якорный тэг, например:
<a href="javascript:void(0);">forgot password?</a>
<div id="login-form"></div>
<div id="recover-password" style="display:none;"></div>
То, что я хочу выполнить, - использовать тег привязки для переключения между двумя тегами div, скрыть его и показать другое и наоборот.
Как это можно сделать наилучшим образом?
С уважением.
Ответы
Ответ 1
Поскольку один div изначально скрыт, вы можете просто вызвать toggle для обоих div:
<a href="javascript:void(0);" id="forgot-password">forgot password?</a>
<div id="login-form">login form</div>
<div id="recover-password" style="display:none;">recover password</div>
<script type="text/javascript">
$(function(){
$('#forgot-password').click(function(){
$('#login-form').toggle();
$('#recover-password').toggle();
});
});
</script>
Ответ 2
Я думаю, вы этого хотите:
$('#recover-password').show();
или
$('#recover-password').toggle();
Это стало возможным благодаря JQuery
Надеюсь, что это поможет...
Ответ 3
Как насчет этого
<script type="text/javascript" language="javascript">
$("#toggle").click(function() { $("#login-form, #recover-password").toggle(); });
</script>
Для вашего HTML выглядит:
<a id="toggle" href="javascript:void(0);">forgot password?</a>
<div id="login-form"></div>
<div id="recover-password" style="display:none;"></div>
Эй, хорошо! Одна линия! я < 3 jQuery.
Ответ 4
Вы можете написать простой плагин jQuery для этого. Плагин будет выглядеть так:
(function($) {
$.fn.expandcollapse = function() {
return this.each(function() {
obj = $(this);
switch (obj.css("display")) {
case "block":
displayValue = "none";
break;
case "none":
default:
displayValue = "block";
}
obj.css("display", displayValue);
});
};
} (jQuery));
Затем подключите плагин к событию click для тега привязки:
$(document).ready(function() {
$("#mylink").click(function() {
$("div").expandcollapse();
});
});
Если вы установите исходные атрибуты "display" для каждого div как "block" и "none" соответственно, они должны переключиться на отображение/скрытие при нажатии ссылки.
Ответ 5
Я думаю, что это работает
$(document).ready(function(){
//Hide (Collapse) the toggle containers on load
$(".toggle_container").hide();
//Switch the "Open" and "Close" state per click then slide up/down (depending on open/close state)
$("h2.trigger").click(function(){
$(this).toggleClass("active").next().slideToggle("slow");
return false; //Prevent the browser jump to the link anchor
});
});
Ответ 6
попробуйте http://www.webtrickss.com/javascript/jquery-slidetoggle-signup-form-and-login-form/
Ответ 7
Я использовал этот способ для создания нескольких блоков без создания нового javascript:
<a href="#" data-toggle="thatblock">Show/Hide Content</a>
<div id="thatblock" style="display: none">
Here is some description that will appear when we click on the button
</div>
Тогда js-часть для всех таких случаев:
$(function() {
$('*[data-toggle]').click(function() {
$('#'+$(this).attr('data-toggle')).toggle();
return false;
});
});
Описание здесь
Ответ 8
Вот как я переключаю два div одновременно:
$('#login-form, #recover-password').toggle();
он работает!
Ответ 9
function toggling_fields_contact_bank(class_name) {
jQuery("." + class_name).animate({
height: 'toggle'
});
}