我有一个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);
}
}...
答案 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)