Re: [問題] javascript 表格變色寫在function裡

看板Web_Design作者 (boy)時間15年前 (2010/10/09 12:00), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串2/2 (看更多)
建議可以用jquery插件的方式來做 jquery插件部分: /* * 用來定義table內的行數變色使用 */ (function($) { $.fn.extend({showColor: function(){ $(this).hover(function() { tmp_color = $(this).css('background-color'); //保留原來tr的顏色 $(this).css('background-color','#FFD300'); //變換tr顏色 }, function() { $(this).css('background-color',tmp_color); //還原tr顏色 }); }}); })(jQuery); 網頁部分: <script src="jquery.js" type="text/javascript" ></script> <script src="jquery.tablecolor.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(e){ $("table tr").showColor(); }); </script> 這樣可以比較容易管理 網頁碼也可以縮短點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.249.3.87

10/09 20:25, , 1F
tmp_color宣告少了var,位置也有問題
10/09 20:25, 1F

10/10 16:30, , 2F
如果宣告了tmp_color可能會造成下面的程式碼找不到變數
10/10 16:30, 2F

10/10 16:31, , 3F
不var的話就是window.變數 這樣是不很漂亮但至少能跑...
10/10 16:31, 3F

10/10 18:12, , 4F
所以說宣告的位置不對
10/10 18:12, 4F

10/10 18:14, , 5F
plug-in要重用更不應該用到全域變數
10/10 18:14, 5F

10/12 10:44, , 6F
感謝大家指教,其實對jquery也是一之半解,觀念上請多多見諒
10/12 10:44, 6F
文章代碼(AID): #1Ch-ZF1y (Web_Design)
文章代碼(AID): #1Ch-ZF1y (Web_Design)