我終於決定切換到jQuery解決方案,因爲ColdFusion的cflayout解決方案似乎很麻煩。這是我如何使用jquery實現我的需求。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Accordion - Collapse content</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$("#accordion").accordion({
active: false,
collapsible: true,
heightStyle: "content"
});
$("#accordion>h3>a").click(function(){
var loc = $(this).prop("href");
window.open(loc, '_blank');
})
});
</script>
</head>
<body>
<div id="accordion">
<h3><a href="http://www.google.com">Section 1</a></h3>
<div>
</div>
<h3>Section 2</h3>
<div>
<p>Sed non urna. Donec et ante. Phasellus eu ligula. Vestibulum sit amet purus. Vivamus hendrerit, dolor at aliquet laoreet, mauris turpis porttitor velit, faucibus interdum tellus libero ac justo. Vivamus non quam. In suscipit faucibus urna. </p>
</div>
<h3>Section 3</h3>
<div>
<p>Nam enim risus, molestie et, porta ac, aliquam ac, risus. Quisque lobortis. Phasellus pellentesque purus in massa. Aenean in pede. Phasellus ac libero ac tellus pellentesque semper. Sed ac felis. Sed commodo, magna quis lacinia ornare, quam ante aliquam nisi, eu iaculis leo purus venenatis dui. </p>
<ul>
<li>List item one</li>
<li>List item two</li>
<li>List item three</li>
</ul>
</div>
<h3>Section 4</h3>
<div>
<p>Cras dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aenean lacinia mauris vel est. </p><p>Suspendisse eu nisl. Nullam ut libero. Integer dignissim consequat lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. </p>
</div>
</div>
</body>
</html>
爲了解決我的第一個問題,我們需要heightStyle
選項設置爲"content"
。它確保每個手風琴元素的高度根據其元素的內容而定。
jQuery手風琴沒有無序列表的問題。
最後,爲了讓所有的手風琴最初崩潰,我們只需要將active
設置爲false
。
還有一件事。我注意到jQuery手風琴的加載速度比Coldfusion的快。謝謝Adam Cameron & Scott Stroz推動我去jQuery解決方案。
在那裏有問題嗎?你已經知道問題是什麼......'cflayout'。不要使用ColdFusion UI元素。他們執行不力,過時並且受到嚴重限制。通過使用像jQuery一樣的JS庫和jQuery UI來實現正確的方式。你會發現它更容易使用,併爲你提供更多的功能和風格方面的靈活性。另外,當你承認你正在做某件你可能不應該做的事情時,有些人可能不會提供幫助。 –
「注意:我知道使用ColdFusion的cflayout並不明智,但無論如何我都想使用它。」 那麼很難回答你的「問題」,因爲這就是問題所在。 –
@AdamCameron。我想用'cflayout'作爲手風琴,因爲它允許錨點以手風琴的標題文本。所以,如果某些手風琴沒有內容,在這種情況下,我們曾經給標題文本提供超鏈接。使用jQuery UI實現該功能看起來很多工作,因爲jQuery手風琴不支持手風琴頭文本用作超鏈接。 – Pankaj