2014-03-06 50 views
0

我在包含圖像的div盒上設置了一個新的高度動畫問題。 我有從數據庫中提取的實時更新內容功能。實時更新內容的動畫高度/ jquery

function update_content() { 
var idval = getUrlVar("id"); 
$.getJSON("getdata.php", { id: idval }, function(data) { 
    $("div#results").empty(); 
    $.each(data.json, function() { 
     sum = this['sum']; 
     $("div#results").append("<h2>"+this['title']+"</h2><div class='workimg' style='background:url(img/work/"+this['billede']+");background-position: center center;'></div><a id='expand'>klik</a>"); 
    }); 
}); 
     setTimeout(function(){ 
     update_content(); 
    }, 1000); 
} 

這工作正常,我給了div(.workimg)200px的高度。然後我做了一個點擊函數(#expand),這將動畫的div爲500px而不是200px,這工作得很好,但問題是,上述功能是每秒實時更新,所以當我點擊時,它在1秒之後以500像素的動畫效果,再次回到200px,而沒有任何用戶交互。

點擊手柄:

$(document).on('click', "#expand", function() { 
      $(".workimg").animate({ 
     height: '500px' 
    }, 1000); 
}); 

是否有此問題的任何解決方法嗎?

問候

+0

你可以發佈該點擊處理程序? –

+0

嗨。嗯,當然咯。我在原始帖子的句柄中編輯過。 – Imbue

回答

1

有你的內部update_content給予的200像素高度編寫的代碼()?,我想這是因爲你每次遞歸1秒後,調用update_content()。現在你可以改變你的點擊功能。

$(document).on('click', "#expand", function() { 
     $(".workimg").animate({ 
    height: '500px' 
}, 1000); 
setTimeout(function(){ $(".workimg").css('height','500px !important'); },1100); 

});