无论if语句如何,都会加载Ajax内容

时间:2012-11-13 22:42:36

标签: javascript jquery html css ajax

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

                }...

2 个答案:

答案 0 :(得分:1)

if(leftcontent.length == 0)应该可以解决问题。

所以它看起来像:

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

如果你在console.log中输入一个元素,它将返回一个长度。如果对象不存在,则长度为0。 只有在页面上没有#left-content时才会运行此if。

答案 1 :(得分:0)

变化:

leftcontent.html(data);

要:

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