少しだけjQueryらしくなるようにGreasemonkeyスクリプトを改造してみた

cookie内にマイリスト登録するGMスクリプトの修正 - Bouldering & Com.に更新版あり

ニコニコ動画でcookieにマイリスト登録するGreasemonkeyスクリプト - Bouldering & Com.で書いた、cookie内にマイリスト登録するGMスクリプトをちょっとだけjQueryぽく替えてみた。
けど、今回の変更加えたら、urchin.jsがexception起こすようになったのと、あいかわらず微妙な実装なので使わないほうがいいと思う。

http://www.ne.jp/asahi/shrkw/shrkw/add_in-cookie_my-list.user.js

適用させると、こんな感じになる。

変更点のソース

***************
*** 85,100 ****
              if (parsed_cookie.length == 0) {
                  return;
              }
              var _list_area = $(document.createElement("div"));
!             _list_area.insertAfter($("/div").get(0));
              var _list_elem = $(document.createElement("ul"));
              _list_area.append(_list_elem);
  
              var movie_ids = parsed_cookie.split(",");
              for (var i = 0; i < movie_ids.length; i++) {
                  var _list_node = $(document.createElement("li"));
                  var _d = $(document.createElement("div"));
!                 _d.css("float", "left");
                  _list_node.append(_d);
                  var _url = "http://www.nicovideo.jp/watch/" + movie_ids[i];
                  _d.html("<div style='width:318px; border:solid 1px #CCC;'><iframe src='http://www.nicovideo.jp/thumb?v=" + movie_ids[i] + "' width='100%' height='198' scrolling='no' border='0' frameborder='0'><p style='font-size:12px; padding:4px;'>iframe対応ブラウザでご覧下さい。</p></iframe></div>");
--- 85,142 ----
              if (parsed_cookie.length == 0) {
                  return;
              }
+             var _outer_list_area = $(document.createElement("div"));
+             _outer_list_area.attr("id", "_sh_container");
+             _outer_list_area.css({
+                 zIndex: "100",
+                 position: "absolute",
+                 top: "10em",
+                 right: "1em",
+                 backgroundColor: "rgb(207, 207, 207)",
+                 opacity: "0.85",
+             });
+             _outer_list_area.insertAfter($("/div").get(0));
+ 
+             var _show_bt = document.createElement("button");
+ 
              var _list_area = $(document.createElement("div"));
!             _list_area.attr("id", "_sh_list_area");
!             _list_area.hide();
! 
!             var _hiding = true;
!             _show_bt.addEventListener("click", function(){
!                 if (_hiding) {
!                     _list_area.show("slow");
!                     _hiding = false;
!                     _show_bt.html("hide in-cookie my-list");
!                 } else {
!                     _list_area.hide("slow");
!                     _hiding = true;
!                     _show_bt.html("show in-cookie my-list");
!                 }
!             }, false);
! 
! 
!             _show_bt = $(_show_bt);
!             _show_bt.html("toggle show/hide of in-cookie my-list");
!             _show_bt.css({
! //                position: "absolute",
! //                right: "1em",
!                 margin: "0.5em 1em",
!             });
!             _outer_list_area.append(_show_bt);
! 
!             _outer_list_area.append(_list_area);
! 
              var _list_elem = $(document.createElement("ul"));
+             _list_elem.css("padding", "1em");
              _list_area.append(_list_elem);
  
              var movie_ids = parsed_cookie.split(",");
              for (var i = 0; i < movie_ids.length; i++) {
                  var _list_node = $(document.createElement("li"));
                  var _d = $(document.createElement("div"));
! //                _d.css("float", "left");
                  _list_node.append(_d);
                  var _url = "http://www.nicovideo.jp/watch/" + movie_ids[i];
                  _d.html("<div style='width:318px; border:solid 1px #CCC;'><iframe src='http://www.nicovideo.jp/thumb?v=" + movie_ids[i] + "' width='100%' height='198' scrolling='no' border='0' frameborder='0'><p style='font-size:12px; padding:4px;'>iframe対応ブラウザでご覧下さい。</p></iframe></div>");
***************
*** 119,125 ****
                  _b = $(_b);
  
                  _b.html("delete from in-cookie my-list");
!                 _b.css("margin", "3em 1em");
                  _list_node.append(_b);
                  var _clear_b = $(document.createElement("div"));
                  _clear_b.css("clear", "both");
--- 161,167 ----
                  _b = $(_b);
  
                  _b.html("delete from in-cookie my-list");
!                 _b.css("margin", "0em 0em 0.5em 0em");
                  _list_node.append(_b);
                  var _clear_b = $(document.createElement("div"));
                  _clear_b.css("clear", "both");