2012-10-20 90 views
0

有問題的網站後,搞亂了是這個:jQuery的動畫負頂部和背部0 - 開始3點擊

http://www.pickmixmagazine.com/wordpress/

當你點擊帖子中的一個(所有的條子)的iframe將從其頂部的內容向下滑動。點擊iframe左上角的「主頁」按鈕後,iframe將向上滑動。這在第2次完美運行時,在第3次點擊某個帖子後,內容會滑落,但當點擊主頁按鈕時,內容會正常滑回,但一旦它一直滑到其位置,應該在,iframe直接下降到在主頁按鈕被點擊之前的位置,我再次點擊它然後它工作。

下面是我用兩個滑動向上和向下滑動功能代碼:

/* slide down function */ 

var $div = $('iframe.primary'); 
var height = $div.height(); 
var width = parseInt($div.width()); 
$div.css({ height : height }); 
$div.css('top', -($div.width())); 


$('.post').click(function() { 
     $('iframe.primary').load(function(){ 
      $div.animate({ top: 0 }, { duration: 1000 }); 
     }) 

     return false; 
}); 


/* slide Up function */ 

var elm = parent.document.getElementsByTagName('iframe')[0]; 
var jelm = $(elm);//convert to jQuery Element 
var htmlElm = jelm[0];//convert to HTML Element 

$('.homebtn').click(function(){ 
     $(elm).animate({ top: -height }, { duration: 1000 }); 

     return false; 
}) 

回答

0

你有沒有考慮使用Ajax,如負載(),準備()jQuery中控制他們更好?

我也不確定你在做什麼。

var height = $div.height(); 
$div.css({ height : height }); 

可能是你想獲得當前窗口的高度?在這裏你可以得到它這樣

var $dDiv = $('iframe.primary'); 
var innerH = window.innerHeight; 
$dDiv.height(innerH); 

也儘量避免與類似的高度,寬度,DIV等默認名稱命名您的自定義變量...你會混淆自己,使調試痛苦。

+0

我用你的想法使用阿賈克斯,它解決了!謝謝哥們 –