У меня 2 страницы.
У меня есть меню на главной странице, и мне нужно щелкнуть элемент меню, и когда он щелкнул, мне нужно, чтобы какой-то элемент (span) был видимым на странице по умолчанию.
В приведенном ниже коде ошибки отсутствуют, но ожидаемого результата не произошло.
MasterPage
:
<li id="lgbtn" style="float:right"><a href="#">Login</a></li>
<script>
$('#lgbtn').live('click', function (e) {
$('span4').show();//<-- this span is in Default page
});
</script>
Default.aspx
:
<div class="span4" style="visibility:hidden">
<form name="form-area" class="form-area" runat="server">
//Some content here
</form>
</div>
1) вы пропустили dot
для класса
2) вы стиль visiblity
поэтому шоу не работает в этом случае, поэтому, пожалуйста, используйте visibility visible
вида CSS.
$('.span4').css("visibility" , "visible");
попробуй это
$('#lgbtn').live('click', function (e) {
if($('.span4').is(":visible")){
$('.span4').css("visibility" , "hidden");
}
else{
$('.span4').css("visibility" , "visible");
}
});
другой путь
<div class="span4" style="display:none">
$('#lgbtn').live('click', function (e) {
if($('.span4').is(":visible")){
$('.span4').show();
}
else{
$('.span4').hide();
}
});
Простейший способ сделать вы также измените в html
<div class="span4" style="display:none">
$('#lgbtn').live('click', function (e) {
$('.span4').toggle();
});
сначала вы знаете, в чем разница между видимостью и отображением в css
видимость: скрытый скрывает элемент, но по-прежнему занимает место в макете.
display: none полностью удаляет элемент из документа. Он не занимает места, хотя HTML для него все еще находится в исходном коде.
Вы можете увидеть эффект этих свойств стиля на этой странице. Я создал три идентичных кода кода, а затем установил свойства отображения и видимости на двух, чтобы вы могли видеть, как они выглядят.
JQuery.show - это то же самое, что сказать display: block;
Чтобы решить это, вы можете изменить его, используя
$('.span4').css("visibility" , "visible");
Или вы можете изменить html следующим образом:
<div class="span4" style="display: none;">
<form name="form-area" class="form-area" runat="server">
//Some content here
</form>
</div>
В JQuery, если вы хотите получить элемент на основе класса, тогда вам нужно написать синтаксис, как показано ниже
$ ( 'ИмяКласс')
и получить идентификатор на основе элемента
$ ( '# ControlID')
Попробуйте использовать этот код:
$('#lgbtn').live('click', function (e) {
$('.span4').show();//<-- this span is in Default page
});
использование
как
<script>
$('#lgbtn').live('click', function (e) {
$('.span4').css("visibility" , "visible");
});
</script>
ОБНОВЛЕННАЯ ДЕМО С переключателем()
Для использования toggle()
HTML
<li id="lgbtn" style=""><a href="#">Login</a></li>
<div class="span4" style="display:none">asds</div>
JS
$( document ).ready(function() {
$( "#lgbtn" ).click(function() {
alert("clicked");
$('.span4').toggle();
});
});