0

ajax でロードされている div がありますが、if ステートメントを追加して、まだロードされていない場合にのみ ajax をロードしたいと考えました。何らかの理由で、これが私のサイトで機能していません(左目をクリックしてエラーを確認してください。)。代わりに、ajax コンテンツがスライドインし、コンテンツが ajax を介して再ロードされます。

これが私のコードです:

    <script type="text/javascript">
    $(window).load(function () {
        function SlideOut(element) {
            var opened = $(".opened"),
                div = $("#" + element),
                content = $("#content");
            opened.removeClass("opened");
            div.addClass("opened");
            content.removeClass().addClass(element);
        }
        $("#content div").click(
            function () {
                var move = $(this).attr('data-move'),
                    id   = $(this).attr("id");
                if( id == 'forehead')
                {
                    $('#resume img').css('display', 'block');
                }

                else if(id =='left-eye23')
                {   
                    var  leftcontent;
                    leftcontent = $("#left-content");                       
                    content = leftcontent.attr('class');
                    if( !leftcontent.hasClass('photos'))
                    {       
                      SlideOut(move);
                        $("#left").bind("webkitTransitionEnd mozTransitionEnd oTransitionEnd msTransitionEnd transitionend", 
                        function(){ 
                            $.ajax({
                            url:'photos.php',
                            beforeSend: function(){
                                leftcontent.html('<img src="loading.gif" /> Now loding...');
                            },
                            }).done(function(data){
                                leftcontent.html(data);
                                leftcontent.addClass("photos");
                            }); 
                            });
                        }                       
                    else if (leftcontent.hasClass('photos'))
                    {
                      SlideOut(move); 
                    }

                }...

4

2 に答える 2

1

if(leftcontent.length == 0)トリックを行う必要があります。

したがって、次のようになります。

var leftcontent = $("#left-content");                       
if(leftcontent.length == 0)
{
     //Do stuff
}

要素を console.log にすると、長さが返されます。オブジェクトが存在しない場合、長さは 0 です。これは、ページに #left-content がない場合にのみ実行されます。

于 2013-02-04T02:03:24.230 に答える
0

変化する:

leftcontent.html(data);

に:

$("#left-content").html(data)
于 2012-11-13T22:46:56.157 に答える