2012-10-28 107 views
0

我試圖把一個腳本,將生成標記,jQuery UI將接受使手風琴,如下所示。jQuery/JavaScript的動態左側導航

<div id="accordion"> 
    <h3>2012</h3> 
    <div> 
     <ul> 
     <li><a href="somepage.html?year=2012&month=10">October</a></li> 
     <li><a href="somepage.html?year=2012&month=9">September</a></li> 
     <li><a href="somepage.html?year=2012&month=8">August</a></li> 
     <li><a href="somepage.html?year=2012&month=7">July</a></li> 
     <li><a href="somepage.html?year=2012&month=6">June</a></li> 
     <li><a href="somepage.html?year=2012&month=5">May</a></li> 
     <li><a href="somepage.html?year=2012&month=4">April</a></li> 
     <li><a href="somepage.html?year=2012&month=3">March</a></li> 
     <li><a href="somepage.html?year=2012&month=2">February</a></li> 
     <li><a href="somepage.html?year=2012&month=1">January</a></li> 
    </ul> 
    </div> 
    <h3>2011</h3> 
    <div> 
     <ul> 
     <li><a href="somepage.html?year=2011&month=12>December</a></li> 
     <li><a href="somepage.html?year=2011&month=11>November</a></li> 
     <li><a href="somepage.html?year=2011&month=10">October</a></li> 
     <li><a href="somepage.html?year=2011&month=9">September</a></li> 
     <li><a href="somepage.html?year=2011&month=8">August</a></li> 
     <li><a href="somepage.html?year=2011&month=7">July</a></li> 
     <li><a href="somepage.html?year=2011&month=6">June</a></li> 
     <li><a href="somepage.html?year=2011&month=5">May</a></li> 
     <li><a href="somepage.html?year=2011&month=4">April</a></li> 
     <li><a href="somepage.html?year=2011&month=3">March</a></li> 
     <li><a href="somepage.html?year=2011&month=2">February</a></li> 
     <li><a href="somepage.html?year=2011&month=1">January</a></li> 
    </ul> 
    </div> 
</div> 

應該輸出的一年,目前和過去幾個月回2007年。爲了創建該類型的標記的一路,什麼話我需要做什麼?僞代碼:

var d = new Date(); 
var yr = Number(d.getFullYear()); 
for (var i = 2006, i < yr, i++) 
{ 
    //create a H3, div, and a ul 
    var mo = d.getMonth(); 
    //some other for loop on the month to create the li items 
    //how to handle date display names? 
} 

jQuery/Javascript中的日期一直是我的致命弱點。

回答

1

這是你想要的?嘗試DEMOanswer demo如果是,那麼你要學會更加提高你的邏輯:)努力去學習如何jQuery的append(),適應臨時變量和HTML

+0

這是有幫助的,並會讓我的方式去做我所需要的。我知道append之類的東西,這就是我在頁面上獲取html的方式,或者通過創建一個對象數組並使用模板。 –

+0

這並不完全是*答案,但它讓我獲得了大部分途徑。調整了一些for循環來做我想做的事。 –

+0

這只是一個例子兄弟..你可以讓你的方式來達到你的目標。你必須做的是鍛鍊更多:) – yosafatade

1

的模式這裏是我想出了。 jsFiddle

var div = $("<div>").attr("id", "accordion"); 
month = []; 
month[0] = "January"; 
month[1] = "February"; 
month[2] = "March"; 
month[3] = "April"; 
month[4] = "May"; 
month[5] = "June"; 
month[6] = "July"; 
month[7] = "August"; 
month[8] = "September"; 
month[9] = "October"; 
month[10] = "November"; 
month[11] = "December"; 
var d = new Date(); 
var yr = Number(d.getFullYear()); 
for (i = yr; i > 2006; i--) { 
    var m = $("<ul>"); 
    for (j = 1; j <= 12; j++) { 
     m.append(
     $("<a>").attr("href", "somepage.html?year=" + i + "&month=" + j).text(month[j - 1])); 
    } 
    div.append(
    $("<h3>").text(i), m); 
} 
$(elementToAppendTo).append(div);​