JQuery и 2 FadeIn в один клик - PullRequest
       13

JQuery и 2 FadeIn в один клик

1 голос
/ 18 декабря 2009

Является ли это правильным способом, чтобы 2 div'а исчезли вместе? (contact_close должно быть перед contact_box, чтобы служить кнопкой закрытия для contact_box.

РЕДАКТИРОВАТЬ: исправлено несколько divnames.

Javascript

$(document).ready(function(){ 

 $(".button_contact").click(function() { 
    $("#contact_box").fadeIn("slow");
 $(".contact_close").fadeIn("slow");
});

 $(".contact_close").click(function() { 
      $(this).fadeOut("slow"); 
      $("#contact_box").fadeOut("slow"); 
    });

});

CSS

body{
    margin: 0;
    padding: 0;
    text-align: center;
    background-color:#f0f2df;
}

#container{
    border: solid 1px #f0f2df;
    background-color:#f0f2df;
    text-align: left;
    margin: auto;
    width: 939px;
    height: 570px;
    top:41px;
    position:relative;
}
#contact_box{
    display: none;
    background-image:url(../images/bg.png);
    width: 703px;
    height: 379px;
    position:absolute;
    left:236px;
    bottom:34px;

}
.contact_close{
    display:none;
    background-image:url(../images/close.png);
    width:17px;
    height:17px;
    position:absolute;
    right:5px;
    top:135px;
}

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<title>test</title>
<script type='text/javascript' src='js/jquery.js'></script>
<script type='text/javascript' src='js/click.js'></script>
</head>

<body>
    <div id="container">
        <div class="button_contact"></div>
        <div id="contact_box">
        <div class="contact_close"></div></div>
</div>
</body>
</html>

Ответы [ 3 ]

2 голосов
/ 18 декабря 2009

Да, все в порядке.

Существуют различные способы сделать много вещей, но что-то настолько простое, что на самом деле не требует очень технического подхода.

0 голосов
/ 19 декабря 2009

Вы можете ослабить их обоих в одном выражении с помощью

$('#contact_box, .contact_close').fadeIn('slow')

Это более эффективно, поскольку jQuery запускает только одну операцию замирания.

0 голосов
/ 19 декабря 2009

Я не проанализировал ваш код полностью, но кажется более логичным поместить поле закрытия внутри элемента div, а не рядом с ним.

...