this is Javascript code of mousewheel event that change options from select menu.
マウスホイールイベントを使ってセレクトメニューを変換するスクリプト
1 /**************************************************************
2 MouseWheel Event Listener Functions
3
4 (C) 2007 Samurai-Logic.com
5 ***************************************************************/
6
7 function load(){
8 if(/msie|chrome|opera/i.test(navigator.userAgent)){
9 window.onmousewheel=document.onmousewheel= showTime;
10 document.onmousemove = musMove;
11 }
12 else if(/apple/i.test(navigator.userAgent)){
13 window.addEventListener( "mousewheel", showTime, false );
14 window.addEventListener("mousemove", musMove,true);
15 }
16 else if(/gecko/i.test(navigator.userAgent)){
17 window.addEventListener( "DOMMouseScroll", showTime, false );
18 window.addEventListener("mousemove", musMove,true);
19 }
20
21 }
22
23 function musMove(e){
24 if (document.all) //IE
25 { x= document.body.scrollLeft+event.clientX; y= document.body.scrollTop+event.clientY; }
26 else /*if(document.getElementById)*/ { x= e.pageX; y= e.pageY;}
27 }
28
29 function showTime(e){
30 //if(mouse) return; mouse=true;
31 var delta;
32 if(window.event && window.event.wheelDelta) delta = window.event.wheelDelta;
33 else if(e.wheelDalta) delta = e.wheelDelta;
34 else delta = -(e.detail); //Mozilla
35
36 delta = (delta<0)? -1 : 1;
37
38 //temp=document.getElementById("fs");
39 //var pointL=eval((temp.style.left).replace(/px/,"")); //find out left of fs
40
41 if(x>=208) {el=document.getElementById("fs"); temp=0;}
42 else if(y>234 && x<100) {el=document.getElementById("src2");temp=5;}
43 else if(y>234) {el=document.getElementById("dst2");temp=4;}
44 else if(x<100) {el=document.getElementById("src");temp=2;}
45 else if(y<31) {el=document.getElementById("ff"); temp=1;}
46 else if(y>134) {el=document.getElementById("dst");temp=3;}
47 else return;
48
49 eL=eval((el.style.left).replace(/px/,""));
50 eW=eval(parseInt((el.style.width).replace(/px/,"")) + eL);
51 eT=eval((el.style.top).replace(/px/,""));
52 eH=eval(parseInt((el.style.height).replace(/px/,"")) + eT);
53
54 if((x<eW && x>eL && y<eH && y>eT)){
55 stopDefault(e);
56 var i=el.selectedIndex;
57 el.selectedIndex=i+delta;
58
59 if(temp==0) $fs(el);
60 else if(temp==1) $ff(el);
61 else if(temp==2) {var src=$id("src").value; src.selectedIndex+=delta;}
62 else if(temp==3) {var dst=$id("dst").value; dst.selectedIndex+=delta;}
63 else if(temp==4) {var dst=$id("dst2").value; dst.selectedIndex+=delta;}
64 else if(temp==5) {var src=$id("src2").value; src.selectedIndex+=delta;}
65 }
66 return;
67 }
68
69 function stopDefault(e) { // stop default mousewheel event
70 if (document.all) { //IE
71 event.returnValue = false;
72 event.cancelBubble = true;
73 } else {
74 if(e.stopPropagation){ e.stopPropagation(); }
75 if(e.preventDefault) { e.preventDefault(); }
76 }
77 return false;
78 }
79
Gadget code : Google Ajax Language API
1 /*-------------------------------------------------*/
2 Gadget code : Google Ajax Language API
3 8 Oct. 2008 Samurai-logic.com
4 /*-------------------------------------------------*/
5 google.load("language", "1");
6 google.setOnLoadCallback(init);
7
8 function init() {
9 var src = $id('src');
10 var src2 = $id('src2');
11 var dst = $id('dst');
12 var dst2 = $id('dst2');
13 var i=0;
14
15 for (l in google.language.Languages) {
16 var lng = l.charAt(0)+(l.toLowerCase()).substring(1,l.length);//.toLowerCase();
17
18 var lngCode = google.language.Languages[l];
19
20 if (google.language.isTranslatable(lngCode)){
21 src.options.add(new Option(lng, lngCode));
22 src2.options.add(new Option(lng, lngCode));
23 dst.options.add(new Option(lng, lngCode));
24 dst2.options.add(new Option(lng, lngCode));
25 }
26 }
27 if (navigator.cookieEnabled){
28 var txt=document.cookie; // "formula=10/19/19/10;"
29 var txt=txt.replace(/[^\/\d]/g,"");
30 cx=new Array(); cx=txt.split("/");
31 }
32
33 if(!/\d/.test(cx[0]))cx[0]=10; //10=en, 19=ja
34 if(!/\d/.test(cx[1]))cx[1]=19;
35 if(!/\d/.test(cx[2]))cx[2]=19;
36 if(!/\d/.test(cx[3]))cx[3]=10;
37
38 src.selectedIndex=parseInt(cx[0]); // selectIndex is index number of select
39 dst.selectedIndex=parseInt(cx[1]);
40 src2.selectedIndex=parseInt(cx[2]);
41 dst2.selectedIndex=parseInt(cx[3]);
42
43 google.language.getBranding('branding');//google logo
44 submitChange(1); //1=true ==> area1
45 }
46
47 function submitChange(num) {
48 if(num){
49 var temp = new String(tt[N]); //temp=string value of current textarea
50 var val = $id(temp).value; //val = data in current textarea
51 var src = $id('src').value; //src language
52 var dest = $id('dst').value; //destination language
53 google.language.translate(val, src, dest, $Res);//HTTP_Request
54 }else{
55 var val = $id("area1").value; //area1 is 2nd textarea
56 var src = $id('src2').value;
57 var dest = $id('dst2').value;
58 google.language.translate(val, src, dest, $Res2);//need another function($Res)
59 }
60 Save(); //save src, dst to cookie
61 return false;
62 }
63
64 function $Res(result) {
65 var res = $id("area1");
66 if (result.translation) {
67 var str = result.translation.replace(/'|'(\;)?/g,"'").replace(/"/g,"\"").replace(/&/g,"&"); //.replace('>', '>').replace('<', '<');
68 res.value = str;
69 }else{
70 res.value = "Error Translating";
71 }
72 }
73
74 function $Res2(result) {
75 var res = $id("area2");
76 if (result.translation) {
77 var str = result.translation.replace(/'|'(\;)?/g,"'").replace(/"/g,"\"").replace(/&/g,"&"); //.replace('>', '>').replace('<', '<');
78 res.value = str;
79 }else{
80 res.value = "Error Translating";
81 }
82 }
83