的Joomla模塊,我想找到一種方法來動態調整基於主含量高的模塊數數。這是可能的和如何?在CSS? javascript?調整的基於內容的高度
的目的是爲了避免空白頁,如果沒有內容。
在此先感謝
凡妮莎
的Joomla模塊,我想找到一種方法來動態調整基於主含量高的模塊數數。這是可能的和如何?在CSS? javascript?調整的基於內容的高度
的目的是爲了避免空白頁,如果沒有內容。
在此先感謝
凡妮莎
這可以以多種方式完成,一些比其他人更優雅。 我能想到的最簡單的就是隻使用Javascript:
是這樣的:(代碼未測試)
window.addEvent('domready', function() {
// Get heigth of main content
var contentHeight = document.id('content').getHeight();
// While the height of the main content is more than 200
// and less than the height of the modules
while(contentHeight > 200 && contentHeight < document.id('modules').getHeight()) {
// Get the last module and remove it.
$$('#modules .moduletable').getLast().dispose();
}
});
注意,這裏假設你使用mootools的(這可能是已經被你的Joomla安裝時提供)。另外,我的元素選擇器可能無法使用您的模板。
再次,服務器仍然會發送所有模塊,即使有些是被刪除。另一件事是,當你的網頁的DOM完全加載時,這將開始,這意味着用戶可能會看到模塊消失。因此,在開始時隱藏所有模塊也可能更好,然後使用類似的循環逐個顯示模塊。
編輯: 你可能更喜歡另一個樣本。
window.addEvent('domready', function() {
// Get heigth of main content
var contentHeight = document.id('gkContent').getHeight();
// While the height of the modules is more than 500
// and less than the height of the modules
while(document.id('gkRight').getHeight() > 500 && contentHeight < document.id('gkRight').getHeight()) {
// Get the last module and remove it.
var banners = $$('#gkRight .adsense2, #gkRight .bannergroup');
if(banners.length > 0) banners.getLast().dispose();
else break;
}
});
嗨 我已經適應了我的網站,但不工作: 你可以看看這個網頁:http://www.auxaffaires.fr/index.php/4-sorties-loisirs/143-velorail-du-bourbonnais-offrez –
對不起,我的錯!我忘了在「document.id(」modules「)之後添加」.getHeight()「..我已經編輯了答案。 –
好吧,它的工作原理我需要調整一些參數來壯舉我的模塊,但現在我明白系統非常感謝! –
你需要某種CSS或JS爲父div,使其高度調整accroding它? –