$xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js'); $xoTheme->addScript('modules/tadtools/jquery/jquery-migrate.min.js'); ``` 4. 或用tadtools的函數也行(括號中輸入true,表示要載入jquery-ui) ``` get_jquery(true); ``` 5. 一般網頁可到官網下載後,載入之即可(jquery-migrate是為了相容舊寫法),如: ``` ``` 6. 亦可直接用CDN,如此無須下載,但缺點是網站必須保持連線狀態 ``` ``` ### 七、 jQuery基本概念:什麼元件在什麼時候要做什麼事。 1. 其基本語法: ``` ``` 2. $() 就是用來指定元件的挑選器(什麼元件), $(document) 或$()代表此網頁。 - (1) 指定標籤:$("button")→挑選到的是→ <button> - (2) 指定id:$("#aa")→挑選到的是→ id="aa" - (3) 指定class:$(".box")→挑選到的是→ class="box" 3. ready()是事件,事件中通常會執行某函數,因為函數大多只用一次,所以,通常直接在()中寫 function(){} 即可,不另外命名,稱之為匿名函數 4. 完整事件或功能建議參考: ### 八、 用jQuery的click()事件來開關某元件 1. 隱藏:$("#xxx").hide(); 顯示:$("#xxx").show(); 2. 滑下:$("#xxx").slideDown("slow"); 滑上:$("#xxx").slideUp("slow"); 3. 隱出:$("#xxx").fadeOut("slow"); 隱入:$("#xxx").fadeIn("slow"); ``` $('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
get_jquery(true); ``` 5. 一般網頁可到官網下載後,載入之即可(jquery-migrate是為了相容舊寫法),如: ``` ``` 6. 亦可直接用CDN,如此無須下載,但缺點是網站必須保持連線狀態 ``` ``` ### 七、 jQuery基本概念:什麼元件在什麼時候要做什麼事。 1. 其基本語法: ``` ``` 2. $() 就是用來指定元件的挑選器(什麼元件), $(document) 或$()代表此網頁。 - (1) 指定標籤:$("button")→挑選到的是→ <button> - (2) 指定id:$("#aa")→挑選到的是→ id="aa" - (3) 指定class:$(".box")→挑選到的是→ class="box" 3. ready()是事件,事件中通常會執行某函數,因為函數大多只用一次,所以,通常直接在()中寫 function(){} 即可,不另外命名,稱之為匿名函數 4. 完整事件或功能建議參考: ### 八、 用jQuery的click()事件來開關某元件 1. 隱藏:$("#xxx").hide(); 顯示:$("#xxx").show(); 2. 滑下:$("#xxx").slideDown("slow"); 滑上:$("#xxx").slideUp("slow"); 3. 隱出:$("#xxx").fadeOut("slow"); 隱入:$("#xxx").fadeIn("slow"); ``` $('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
``` 6. 亦可直接用CDN,如此無須下載,但缺點是網站必須保持連線狀態 ``` ``` ### 七、 jQuery基本概念:什麼元件在什麼時候要做什麼事。 1. 其基本語法: ``` ``` 2. $() 就是用來指定元件的挑選器(什麼元件), $(document) 或$()代表此網頁。 - (1) 指定標籤:$("button")→挑選到的是→ <button> - (2) 指定id:$("#aa")→挑選到的是→ id="aa" - (3) 指定class:$(".box")→挑選到的是→ class="box" 3. ready()是事件,事件中通常會執行某函數,因為函數大多只用一次,所以,通常直接在()中寫 function(){} 即可,不另外命名,稱之為匿名函數 4. 完整事件或功能建議參考: ### 八、 用jQuery的click()事件來開關某元件 1. 隱藏:$("#xxx").hide(); 顯示:$("#xxx").show(); 2. 滑下:$("#xxx").slideDown("slow"); 滑上:$("#xxx").slideUp("slow"); 3. 隱出:$("#xxx").fadeOut("slow"); 隱入:$("#xxx").fadeIn("slow"); ``` $('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
``` ### 七、 jQuery基本概念:什麼元件在什麼時候要做什麼事。 1. 其基本語法: ``` ``` 2. $() 就是用來指定元件的挑選器(什麼元件), $(document) 或$()代表此網頁。 - (1) 指定標籤:$("button")→挑選到的是→ <button> - (2) 指定id:$("#aa")→挑選到的是→ id="aa" - (3) 指定class:$(".box")→挑選到的是→ class="box" 3. ready()是事件,事件中通常會執行某函數,因為函數大多只用一次,所以,通常直接在()中寫 function(){} 即可,不另外命名,稱之為匿名函數 4. 完整事件或功能建議參考: ### 八、 用jQuery的click()事件來開關某元件 1. 隱藏:$("#xxx").hide(); 顯示:$("#xxx").show(); 2. 滑下:$("#xxx").slideDown("slow"); 滑上:$("#xxx").slideUp("slow"); 3. 隱出:$("#xxx").fadeOut("slow"); 隱入:$("#xxx").fadeIn("slow"); ``` $('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
``` 2. $() 就是用來指定元件的挑選器(什麼元件), $(document) 或$()代表此網頁。 - (1) 指定標籤:$("button")→挑選到的是→ <button> - (2) 指定id:$("#aa")→挑選到的是→ id="aa" - (3) 指定class:$(".box")→挑選到的是→ class="box" 3. ready()是事件,事件中通常會執行某函數,因為函數大多只用一次,所以,通常直接在()中寫 function(){} 即可,不另外命名,稱之為匿名函數 4. 完整事件或功能建議參考: ### 八、 用jQuery的click()事件來開關某元件 1. 隱藏:$("#xxx").hide(); 顯示:$("#xxx").show(); 2. 滑下:$("#xxx").slideDown("slow"); 滑上:$("#xxx").slideUp("slow"); 3. 隱出:$("#xxx").fadeOut("slow"); 隱入:$("#xxx").fadeIn("slow"); ``` $('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
$('#ooo').click(function(){ //當id="ooo"的網頁元件被點擊時,要做些什麼事 }); ``` ### 九、 常用jQuery效果(Effects) 1. 加上CSS:$("#xxx").css("border","1px solid black"); 2. 套用class:$("#xxx").addClass("good"); 3. 移除class:$("#xxx").removeClass(); 4. 加到裡面:$("#xxx").append("<b>嗨!</b>"); 5. 取值:$("#xxx").val(); ### 十、 jQuery的.change ()事件 ``` $('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
$('#ooo').change(function(){ //當id="ooo"的網頁元件有變動時,要做些什麼事 }); ``` 1. 轉換網址的javascript語法: ``` location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
location.href="新網址"; ``` ### 十一、 連動選單原理 1. 所謂連動選單就是使用者選取A選單,B選單位根據A選單的值,自動產生相關選項。例如縣市選單,選擇「台南市」之後,第二個選單可能會出現「永康區、新營區...等」;若選擇「新北市」第二個選單則出現「淡水區、八里區...等」。 2. 換言之,我們必須能知道選單A何時異動了→$("#A").change() 3. 使用者選了A選單的什麼值→$("#A").val() 4. 然後,將A選單的值送給程式去運算→$.post() 5. 最後,把運算的結果,塞回選單B→$('#B').html(data); ### 十二、 jQuery的.post()與.get() ``` $('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
$('#county').change(function(){ $.post('ajax.php', {county: $('#county').val()} , function(data) { $('#city').html(data); }); }); ``` 1. ajax.php:背後運算的程式 2. {county: $('#county').val()}:帶參數給ajax.php,ajax.php會接收到「$\_POST\['county'\]="選定的值"」。 3. function(data) {}:就是把ajax.php的運算結果「data」套用到指定元素中。 4. $('#city').html(data):把運算結果「data」放入id="city"的網頁元件中。 5. $('#county').val()可以取得id="county"的網頁元件的值。 ### 十三、 地址jQuery 1. TWzipcode官網: ``` ``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
``` 2. 套用到表單,用以下方法可以自己決定位置,並融入BootStrap中 ``` ``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
``` 3. data-role千萬不要去改 4. data-name是「表單name」指的就是該欄位原本在表單裡的name 5. data-value是預設值,在XOOPS樣板檔中,長像這樣<{$zip}> 6. data-style可指定該欄位欲套用的樣式,若要帶入BootStrap,可填入form-control
進階搜尋
140人線上 (18人在瀏覽線上書籍)
會員: 0
訪客: 140