作者beerson (啤酒僧)
看板Web_Design
標題Re: [問題] 請問英雄聯盟的這個頁面功能怎麼做?
時間Wed Jul 17 12:55:54 2013
感謝y大的教學
小弟後來還是採取比較簡單的方法
我是先把資料庫的資料全部叫出來,賦予每個div id,然後再用js控制顯示與否
但現在又遇到令一個問題
因為判斷是否顯示的部份會常常使用到,所以小弟想寫個函式用來判斷是否顯示
結果函式一直無法執行,請問是怎麼回事呢?
<script type="text/javascript">
function test(){
alert("hello");
}
function hideornot(){
if (this.value == "male"){
$("div#female").css("display","none")
$("div#male").css("display","block")
}
else if (this.value == "female"){
$("div#male").css("display","none")
$("div#female").css("display","block")
}
}
$().ready(function(){
test();
$("select#sex").change(function(){hideornot();});
});
</script>
執行結果是test()可以執行,但是hideornot()不行
是因為hideornot()裡面用到this的關係嗎?
請問要怎麼改比較妥當呢?
※ 引述《lyforever (LY)》之銘言:
: ※ 引述《beerson (啤酒僧)》之銘言:
: : 痾,其實我是一直想要想一個方法解釋我要問的問題
: : 但一直找不到合適的措辭,所以就跑去打LOL
: : 結果發現,這個頁面就是我要做的功能阿
: : 貼上連結請問一下版上的各位前輩
: : 像這種點擊checkbox後更改下方顯示的內容資訊的方法是怎麼做的?
: : 小弟有想過是否是先load所有的英雄資料然後再用js控制顯示與否
: : 但小弟的程式能力普普,不太會做
: : 是否有現成的JQuery函式可以套用呢?
: : 附上連結:http://lol.garena.tw/champions/
: : By the way, 小弟是用rails架的站,不知道在這種環境用哪個方法最適合?
: 直接看原始碼
: <input type="checkbox" name="filter" id="filter" value="assassin">
: "刺殺"
: $().ready(function() {
: $(".someClass").tipTip({maxWidth: "400px",edgeOffset: 10});
: //以下開始, 選擇input id為filter的 並且綁訂click event,
: //換成白話文來就是有沒有叫filter的被按了, 每次被按了就執行以下的情況
: $('input[id=filter]').click(function(){
: //呼叫blockUI
: $.blockUI();
: //算一下有多少被打勾
: var filters = $('input[id=filter]:checked').length;
: var filter_str = "";
: //把字串計算出來
: for(k=0;k<filters;k++){
: filter_str = (filter_str == "") ? "" : filter_str+",";
: filter_str = filter_str + $('input[id=filter]:checked').eq(k).val();
: }
: //去算新的list
: get_list(filter_str);
: });
: //網頁一開始預設的list
: get_list();
: });
: //取得list 的function
: function get_list(types){
: types = (types == undefined) ? "" : types;
: //用post去取得新的list 並且showy在叫champion_list的地方
: $.post("t_champion-list.php",{type : types},function(data){
: $('#champion_list').html(data);
: $('#champion_list').show();
: $(".someClass").tipTip({maxWidth: "400px",edgeOffset: 30});
: });
: //結束unblock UI
: $.unblockUI();
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.172.119.76
推 mrbigmouth:$("select#sex").change(hideornot); 07/17 13:07
→ beerson:WOW,解決了!感謝感謝!! 07/17 13:09
→ beerson:竟然是這種錯誤XDDDD感謝M大喔 07/17 13:10
→ beerson:咦?那如果我的hideornot裏面有屬性要帶呢??? 07/17 13:14
推 mrbigmouth:.change(function() { hideornot.call(this); }) 07/17 17:05
→ lyforever:jQ有show()跟hide()還有toggle() 07/17 22:14
→ lyforever:另外應該用visibility 取代display會比較好 07/17 22:14
→ beerson:感謝y大,我立馬來試試看 07/18 09:40
→ beerson:ly大 07/18 09:40