我不是很優秀,當涉及到的JavaScript,尤其是語法。所以我想學習。在這個過程中,我試圖實現一個內容加載器,它基本上從div中刪除所有內容,並從另一個文檔的另一個div中插入內容。jQuery的 - 可以使用一個小的幫助與內容加載器
我試過在這個網站上做到這一點: www.matkalenderen.no - 檢查那裏的屁股醜陋的鏈接。走着瞧吧?
我已經採取了例如從該網站: http://nettuts.s3.cdn.plus.org/011_jQuerySite/sample/index.html#index
但我不知道這個例子的實際工作,我認爲它的方式。我的意思是,如果代碼只是從一個div抹了現有的內容,並從另一個DIV插入內容,爲什麼在這個例子中其他網頁包括文檔類型和標題等等等等?你不是隻需要div,它的內容?沒有所有其他的東西「周圍」?也許我不明白這是如何工作的。認爲它像真的包括真正的工作。
但是,這是我的代碼:
$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#dynloader a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+'.html #container';
$('#container').load(toLoad)
}
});
$('#dynloader a').click(function(){
var toLoad = $(this).attr('href')+' #container';
$('#container').hide('fast',loadcontainer);
$('#load').remove();
$('#wrapper').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadcontainer() {
$('#container').load(toLoad,'',showNewcontainer())
}
function showNewcontainer() {
$('#container').show('normal',hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
});
你看看原始來源或我稍微改動的版本?不知道我理解最後一部分「在你的情況下,我認爲你只需要從最後刪除#內容」,因爲我的版本中沒有#content。 – 2010-03-18 12:29:32
@Kenny - 在你發佈的代碼中,第6行是:'var toLoad = hash +'。html #container';'如果你不在內部尋找該ID的內容,它應該只是:'var toLoad =散+ 'html''同樣在點擊處理程序:'VAR對負載= $(本).attr( 'HREF')+' 的#container ';'應該是'無功對負載= $(本).attr(' href');' – 2010-03-18 12:42:00
好吧,我明白了。但要更深入一點。代碼就像從文件內的div中獲取內容一樣。那很好。但是,這將需要包含大量單個文件的內容。即使每個文件中只有一點點內容。是否有可能將所有內容放入單個文件中?只把它們放在單獨的div中?最好不必在js代碼中指定ID?不知道如何做到這一點,也許通過href? – 2010-03-18 20:46:36