2012-11-13 36 views
0

我有一个div正在加载ajax,但我想添加一个if语句只加载ajax,如果它尚未加载。由于某种原因,这不适用于我的site(单击左眼查看错误。)。相反,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); 
        } 

       }... 

+0

链接到网站看起来不正确。你能纠正它吗? –

+0

@PranavKapoor哇非常感谢,太多www再次感谢 –

回答

0

变化:

leftcontent.html(data); 

要:

$("#left-content").html(data) 
+0

为什么会有所作为?在分配变量后,具有该ID的DOM元素是否发生变化? – Barmar

+0

我改变了代码,错误仍在发生。 –

+0

我认为它可能会重新初始化照片,所以它看起来像加载(我也使用[同位素](http://isotope.metafizzy.co/)) –

1

if(leftcontent.length == 0)应该做的伎俩。

因此,它看起来像:

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

如果CONSOLE.LOG的元素,它将返回的长度。如果对象不存在,则长度为0. 这个if只会在页面上没有剩余内容的情况下运行。