2010-01-26 71 views
0

我正在使用Eric Martin's sweet 'simplemodal' jQuery plugin。它的工作原理非常奇妙,並將其推薦給任何尋找輕量級基於jQuery的模態對話解決方案的人。jquery.simplemodal-1.3.3.js:絕對定位(與固定)

這就是說,我有一些特別長的內容需要顯示爲模態。默認情況下,容器元素使用'overflow:auto'來處理太長而不適合瀏覽器窗口的內容。這在大多數情況下效果很好,但在這種情況下,我希望對話保持全高,並與頁面的其餘部分一起滾動(定位爲「絕對」與「固定」)。我能得到這個工作很容易通過公平修改任何位置:「固定」在源引用位置:「絕對」但這吮吸,因爲它意味着我所有的情態動詞會顯示這樣...

任何人對如何優雅地完成這項工作有什麼想法?

回答

0

這聽起來像你不適合適應源給你的具體需求......因此,我會建議重做它,以便您可以通過選項對象提供定位和溢出屬性。

+0

是的,不幸的是這是結論我已經來...修改Eric的來源以允許通過附加選項指定定位。感謝您的意見和反饋! – droo 2010-01-28 02:39:07

1

嘗試添加的位置是:絕對的實際模態調用那個特定的div區域

像下面

$( 「#somebutton」)點擊(函數(){

$('#my-modal-content').modal({ 
     position:absolute 
    }); 
}); 

。我和你有同樣的問題,但我想爲不同的按鈕/功能設置不同的大小框,這就是我解決它的方法。祝你好運!

+0

@myself:除非這已經是作爲提供建議sdmiller上面:-)在這種情況下,沒有必要返工源。 – prodigitalson 2010-01-26 21:56:23

+0

向模態調用添加「position:'absolute'」,不幸的是,似乎沒有任何操作... – droo 2010-01-28 02:36:17

+0

這是我遵循的用於覆蓋默認CSS的形式 //更改最小高度和寬度 $(「#sample」)。modal({\t minHeight:400, \t minWidth:600 }); 這個例子 /使用百分比手動設置位置 $(「#sample」)。modal({position:[「50%」,「50%」]}); 我在他的頁面上發現了這些。 你可以試試位置:[絕對] – sdmiller 2010-01-28 14:39:19

0

只需要在dia記錄自己。

+0

這(如上所述)實際上是默認行爲... – droo 2010-01-28 02:37:21

0

你必須顯着改變代碼,特別是處理IE的代碼(主要是IE6)。

只是改變一個絕對位置最初可以用於某些瀏覽器,但某些瀏覽器或頁面調整大小(在任何瀏覽器中)都會恢復到固定位置。

1

這是我做的:

jQuery('#MyModal').modal({ 
    //options 
}); 
jQuery('#MyModal').parents('.simplemodal-container').css('position', 'absolute'); 
+0

感謝您的支持!你也可以通過設置onOpen來設置聲明作爲一個選項來使用特定的模式:function(dialog){dialog.container.css('position','absolute');}。通過這樣做,你一定不會影響其他任何東西。 – David 2012-10-09 23:32:58