画廊淡出&在通过jQuery

时间:2016-03-07 15:07:37

标签: javascript php jquery

我的画廊有两个小问题(这里:http://jan.kusenberg.eu/test/fotografie.php)。我用朋友和互联网的帮助编写了它,但现在我无法解决最后的问题:

  1. 一开始它没有给你看图片,我不明白为什么。
  2. 当更换画廊时,当前淡出过快,新的"闪烁"然后慢慢消失(应该是:旧的淡出,新的淡入)。
  3. 这是主图库页面背后的代码(其中包含仅从文件夹中绘制图片的子页面,例如#34; fotografie_1.inc.php"):

    <div id="frame_content">
    
        <?php
        if ( empty ($_GET['content']) or !$_GET['content']) { $file = 'fotografie_1.inc.php'; } else {
        $file = $_GET['content'].".inc.php";}
        if(file_exists($file)) {
            include($file);
            }   
        ?> 
    
    </div>
    
    <script>
    function getthings(param1, param2)
            {
                $.ajax({
                    url: "fotografie_1.inc.php",
                    type: "GET",
                    data: { chapter : param1, content : param2 },
                    async: true
                }).done(function(data) {
                    $("#frame_content").fadeOut("slow");
                    $("#frame_content").empty();
                    $("#frame_content").append(data);
                    $("#frame_content").fadeIn("slow");
                });
            }
    </script>
    

    我做错了什么?

2 个答案:

答案 0 :(得分:1)

JS应该如下:

function getthings(param1, param2)
        {
            $.ajax({
                url: "fotografie_1.inc.php",
                type: "GET",
                data: { chapter : param1, content : param2 },
                async: true
            }).done(function(data) {
                $("#frame_content").fadeOut("slow",function(){
                     $("#frame_content").empty();
                     $("#frame_content").hide();
                     $("#frame_content").append(data);
                     $("#frame_content").fadeIn("slow");

                });
            });
        }

答案 1 :(得分:0)

http://api.jquery.com/fadeout/你同时淡入淡出,这可能看起来很奇怪。尝试:

<div id="frame_content">

    <?php
    if (empty($_GET['content']) or ! $_GET['content']) {
        $file = 'fotografie_1.inc.php';
    } else {
        $file = $_GET['content'] . ".inc.php";
    }
    if (file_exists($file)) {
        include($file);
    }
    ?> 

</div>

<script>
    function getthings(param1, param2) {
        $.ajax({
            url: "fotografie_1.inc.php",
            type: "GET",
            data: {chapter: param1, content: param2},
            async: true
        }).done(function (data) {
            $("#frame_content").fadeOut("slow", function () { //Callback for when the fadeout is done
                $("#frame_content").empty();
                $("#frame_content").append(data);
                $("#frame_content").fadeIn("slow");
            });
        });
    }
    $(document).ready(function () {
        getthings(1, 'fotographie_1'); // or whatever default is sensible
    });
</script>