2009-09-12 51 views
0

我抓住了我以前的嘗試,改變了ID屬性。如果請求=== 0,是否有辦法讓內容低於自動加載?而不是點擊功能。獲取一個DIV以自動加載jQuery

<script language="javascript"> 
var requests = 10; 

function request(self) 
{if(self.href != "#") 
requests -= 1; 

if(requests === 0) 

var pageid = function() { 
    var thisID = null; 
    $('#step').click(function() { 
     thisID = this.id; 
     $('#content').animate({ 
      height: getPageHeight() 
     }, 
     700, function() { 
      $('#next-page').fadeIn(500); 
      $('#content-' + thisID).fadeIn(500, function() {}); 
     }); 
     return false; 
    }); 
}; 
$(window).load(pageid); 
function getPageHeight() { 
    var windowHeight; 
    if (self.innerHeight) windowHeight = self.innerHeight; 
    else if (document.documentElement && document.documentElement.clientHeight) windowHeight = document.documentElement.clientHeight; 
    else if (document.body) windowHeight = document.body.clientHeight; 
    return windowHeight; 
}} 
</script> 
+0

那是'if(要求=== 0)'故意嗎?它很臭。 – strager 2009-09-12 01:35:36

回答

1

嘗試包裝所有的代碼在此:

$(document).ready(function() { 
    // your code 
} 

當代碼只是運行在頁面加載時,你碰到的情況下你要找的只是內容不準備使用(甚至可能還沒有下載)。因此,請確保您在運行代碼之前等待頁面加載。

編輯

這可能是 「$(窗口).load(的pageid);」只是錯誤的代碼,但如果事情仍然不奏效,你必須對你的目標更具體。

事情是這樣的:

<script language="javascript"> 
var requests = 10; 

$(document).ready(function() { 
    // Your code here 
    // $(window).load(pageid); 
}); 

function request(self) 
{if(self.href != "#") 
requests -= 1; 

if(requests === 0) 

var pageid = function() { 
    var thisID = null; 
    $('#step').click(function() { 
     thisID = this.id; 
     $('#content').animate({ 
      height: getPageHeight() 
     }, 
     700, function() { 
      $('#next-page').fadeIn(500); 
      $('#content-' + thisID).fadeIn(500, function() {}); 
     }); 
     return false; 
    }); 
}; 

function getPageHeight() { 
    var windowHeight; 
    if (self.innerHeight) windowHeight = self.innerHeight; 
    else if (document.documentElement && document.documentElement.clientHeight) windowHeight = document.documentElement.clientHeight; 
    else if (document.body) windowHeight = document.body.clientHeight; 
    return windowHeight; 
}} 
</script> 
+0

沒有工作,因爲我喜歡它。 – Homework 2009-09-12 01:42:29

+0

我不確定你的評論意味着什麼。你不需要包裝這些函數,你只需要包裝一下瀏覽器發現它就會運行的代碼。 – 2009-09-12 02:03:28

1

嘗試使用匿名函數在負載情況下是這樣的:

$(window).load(function() { 
    if(requests === 0) 
     pageid(); // or whatever you need 
}); 

但是,首先移除代碼if(requests === 0)條件。