7

別のdivがクリックされたときにdivをフェードインし、別のdivがクリックされたときに再びフェードアウト(閉じるボタン)しようとしていますが、コードが機能しません。何か忘れましたか?

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_form{
    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_form">
        <div class="button_close"></div></div>
</div>
</body>
</html>

そしてJavaScript

$(document).ready(function(){ 

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

 $(".contact_close").click(function() { 
      $("#contact_form").fadeOut("slow"); 
    });
 });
4

7 に答える 7

11

「。」が必要です。button_contact の前

$(document).ready(function(){ 
  $(".button_contact").click(function() { 
    $("#contact_form").fadeIn("slow");
  });

  $(".contact_close").click(function() { 
    $("#contact_form").fadeOut("slow"); 
  });
});
于 2009-12-18T20:31:50.103 に答える
9

jQueryには、要素がクリックされたときに相互に.toggle()ある多機能を渡すことができる機能もあります。toggled

http://api.jquery.com/toggle/必要な数の関数を追加できるため、優れた関数です。

$(document).ready(function(){ 
    $(".button_contact").toggle(function() { 
        $("#contact_form").fadeIn("slow");
    },
    function() { 
        $("#contact_form").fadeOut("slow"); 
    });
});
于 2010-01-23T22:26:01.840 に答える
2

.ボタンを閉じる前に を忘れました:

$(".button_contact")....

動作するはずです。

于 2009-12-18T20:31:42.520 に答える
1

フェードイン ボタンのセレクターが少しずれています。元のコードは、ノード名button_contactnot で、クラスがの要素と一致しますbutton_contact

試す:

$(".button_contact").click(function() { 
    $("#contact_form").fadeIn("slow");
});
于 2009-12-18T20:32:24.013 に答える
1

$("button_contact").click(function() {

$(".button_contact").click(function() {
于 2009-12-18T20:32:37.993 に答える
1

これを試して:

$(document).ready(function(){ 

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

 $(".button_close").click(function() { 
  $("#contact_form").fadeOut("slow"); 
  });
 });
于 2009-12-18T20:32:41.300 に答える
0

申し訳ありませんが、クリックされているリンクが別のDIVに対応するajaxリンクである場合、この構文は機能しますか?うまくいかないようです!

<script type="text/javascript" src="js/jquery-ajaxLink.js"></script>
    <script type="text/javascript">
        $(document).ready(function() { 
        $(".ajaxLink").ajaxLink();
        $(".ajaxlink").click(function() { 
     $("#content").fadeIn("slow");
  });
 });
    </script>


            <ul id="mainNav">
    <li> <a class="ajaxLink" href="test1.htm">Who We Are </a></li>
    <li> <a class="ajaxLink" href="test2.htm">Benefits</a></li>
    <li> <a class="ajaxLink" href="test2.htm">Commercial Terms</a></li>
    <li> <a class="ajaxLink" href="test3.htm">Property Types</a></li>
    <li> <a class="ajaxLink" href="test3.htm">Commercial Info</a></li>
            </ul>

<div id="content"></div>
于 2010-12-10T10:40:03.507 に答える