Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(Jqueryコールバック、イベントの順序について)
閲覧数:860
掲示板(Jqueryコールバック、イベントの順序について)
名前
匿名
題名 Jqueryコールバック、イベントの順序について
質問内容

質問を評価する
(0ポイント)
JQuery初学者です。

リストをクリックすると一旦全てのdivをfadeoutさせたあとに、クリックしたものと対応するdivだけfadeinする、というイベントを考えて以下のようなスクリプトを書いたのですが、実際は消える・現れるの順序がバラバラになってしまいます。表示されているdivと違うdivを指定するメニューを押すと、フェードアウト前にまずdivが一瞬変わってしまいます。

色々試行錯誤してみたのですが、上手くいきません。
よろしければご指摘お願いいたします。

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>無題ドキュメント</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<link href="css/normalize.css" rel="stylesheet" type="text/css">
<style>
.mb20{
    margin-bottom:20px;
}
#one{
    width:500px;
    height:500px;
    background:#666;
    clear:both;
}
#two{
    width:500px;
    height:500px;
    background:blue;
}
#three{
    width:500px;
    height:500px;
    background:pink;
}
ul {
    list-style-type:none;
}
ul li{
    float:left;
}
div#one,div#two,div#three{
    display:none;*/
}
</style>
<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
<script>
$(function(){
    var list = $("ul.menu a");
    list.click(function(){
        var menu = $(this);
        var contents = $(menu.attr('href'));
        $("#contents div").fadeOut(3000,function(){
        contents.fadeIn(2000);
        });
    });
});
</script>
</head>

<body>
<ul class="menu">
    <li><a href="#one">one</a></li>
    <li><a href="#two">two</a></li>
    <li><a href="#three">three</a></li>
</ul>
<div id="contents">
    <div id="one" class="mb20"></div>
    <div id="two" class="mb20"></div>
    <div id="three" class="mb20"></div>
</div>
</body>
</html>
質問日時 2013-02-08 06:56:31
名前
匿名
回答内容

回答を評価する
(0ポイント)
目指してるところが分からん…。
>対応するdivだけfadeinする
の後に
>一旦全てのdivをfadeout
するときは、一回3つとも表示するんだろうか…。

        $("#contents").fadeOut(3000,function(){
            $("#contents div").hide();
            contents.show();
            $("#contents").fadeIn(2000);
        });

こんなの考えたけど、違いそうだなー。

ところでここ、Javaの掲示板なんだけど。
回答日時 2013-02-09 00:35:52
名前
匿名
回答内容

回答を評価する
(0ポイント)
質問する場所を間違えまして、失礼しました。
回答日時 2013-02-09 04:50:57

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道