PageSourceSearch

https://dt-a.jp/cmn/js/pc/jquery.lMDRollover.js

js dt-a.jp collected 2026-10-04 13:23:33 UTC 7,133 bytes, 229 lines download raw bytes

1/*
2 * MDRollover.js
3 *
4 * Copyright (c) 2011 Toshihiko Nii <mellowdown.net>
5 * Licensed under the MIT License:
6 * http://www.opensource.org/licenses/mit-license.php
7 *
8 * Last update:  2011-10-03
9 *
10 */
11
12(function($) {
13
14	$(function() {
15		$.MDRollover.slideBg();
16		$.MDRollover.slideBgAttrImg();
17		$.MDRollover.slideBgFadeImg();
18		$.MDRollover.fadeImg();
19		$.MDRollover.shuffleText();
20	});
21	
22	$.MDRollover = {
23
24		slideBg: function (options) {
25			var conf = $.extend({
26				selector: "#slideBg li",
27				changeTime: 250,
28				hoverBgColor: "#ddd",
29				hoverTextColor: "#000"
30			}, options)
31	
32			var target = $(conf.selector);
33
34			var defaultWidth = target.width();
35			var defaultTextColor = target.find("a").css("color");
36	
37			target.each(function(){
38	
39				$(this).css("position", "relative");
40				$(this).find("a").css({"position":"absolute", "top":"0", "left":"0", "z-index":"10" });
41				$(this).append("<span style=\"width:0; height:" + $(this).height() + "px; background:" + conf.hoverBgColor + "; display:block; position:absolute; top:0; left:0; z-index:0;\"></span>");
42
43				$(this).hover(function(){
44					$(this).find("a").css("color", conf.hoverTextColor);
45					$(this).find("span:not(:animated)").css("width", Math.ceil(defaultWidth * 0.7)).animate({ width: defaultWidth }, conf.changeTime);
46				},
47				function(){
48					$(this).find("a").css("color", defaultTextColor);
49					/*
50					$(this).delay(conf.changeTime * 0.7).queue(function(next) {	
51						$(this).find("a").css("color", defaultTextColor);
52						next();
53					});
54					*/
55
56					$(this).find("span").stop().animate({ width: "0" }, conf.changeTime);
57				});
58			});
59		},
60
61		slideBgAttrImg: function (options) {
62			var conf = $.extend({
63				selector: "#slideBgAttrImg li",
64				changeTime: 250,
65				hoverBgColor: "#ddd",
66				attachStr: "_on"
67			}, options)
68	
69			var target = $(conf.selector);
70
71			var defaultWidth = target.width();
72	
73			target.each(function(){
74				$(this).css("position", "relative");
75				$(this).find("a").css({"position":"absolute", "top":"0", "left":"0", "z-index":"10" });
76				$(this).append("<span style=\"width:0; height:" + $(this).height() + "px; background:" + conf.hoverBgColor + "; display:block; position:absolute; top:0; left:0; z-index:0;\"></span>");
77				
78				$(this).hover(function(){
79					$(this).find("img").attr('src',$(this).find("img").attr("src").replace(/^(.+)(\..+)$/,"$1_on$2"));
80				
81					$(this).find("span:not(:animated)").css("width", Math.ceil(defaultWidth * 0.7)).animate({ width: defaultWidth }, conf.changeTime);
82				},
83				function(){
84					$(this).find("img").attr('src',$(this).find("img").attr("src").replace(/^(.+)_on(\..+)$/, "$1$2"));
85
86					$(this).find("span").stop().css("width", Math.ceil(defaultWidth * 0.5)).animate({ width: "0" }, conf.changeTime);
87				});
88			});
89		},
90
91		slideBgFadeImg: function (options) {
92			var conf = $.extend({
93				selector: "#slideBgFadeImg li",
94				changeTime: 250,
95				hoverBgColor: "#ddd",
96				attachStr: "_on"
97			}, options)
98	
99			var target = $(conf.selector);
100
101			var defaultWidth = target.width();
102	
103			target.each(function(){
104				this.rolloverImg = new Image();
105				this.rolloverImg.src = $("img", this).attr('src').replace(new RegExp('(\.gif|\.jpg|\.png)$'), conf.attachStr + '$1');
106					
107				$("img", this).before(this.rolloverImg).css({"z-index":"10", "position":"absolute", "top":"0", "left":"0"});
108				$(this.rolloverImg).css({"z-index":"10", "position":"absolute", "top":"0", "left":"0", "display":"none"});
109	
110				$(this).css("position", "relative");
111				$(this).append("<span style=\"width:0; height:" + $(this).height() + "px; background:" + conf.hoverBgColor + "; display:block; position:absolute; top:0; left:0; z-index:0;\"></span>");
112				
113				$(this).hover(function(){
114					$(this).find("img:eq(0):not(:animated)").fadeIn(conf.changeTime);
115					$(this).find("img:eq(1):not(:animated)").fadeOut(conf.changeTime);
116
117					$(this).find("span:not(:animated)").css("width", Math.ceil(defaultWidth * 0.7)).animate({ width: defaultWidth }, conf.changeTime);
118				},
119				function(){
120					$(this).find("img:eq(0)").fadeOut(conf.changeTime);
121					$(this).find("img:eq(1)").fadeIn(conf.changeTime);
122
123					$(this).find("span").animate({ width: "0" }, conf.changeTime);
124				});
125			});
126		},
127
128		fadeImg: function (options) {
129			var conf = $.extend({
130				selector: "#fadeImg li",
131				changeTime: 250,
132				attachStr: "_on"
133			}, options)
134	
135			var target = $(conf.selector);
136
137			var defaultWidth = target.width();
138	
139			target.each(function(){
140				this.rolloverImg = new Image();
141				this.rolloverImg.src = $("img", this).attr('src').replace(new RegExp('(\.gif|\.jpg|\.png)$'), conf.attachStr + '$1');
142					
143				$("img", this).before(this.rolloverImg).css({"z-index":"10", "position":"absolute", "top":"0", "left"
143:"0"});
144				$(this.rolloverImg).css({"z-index":"10", "position":"absolute", "top":"0", "left":"0", "display":"none"});
145	
146				$(this).css("position", "relative");
147				
148				$(this).hover(function(){
149					$(this).find("img:eq(0):not(:animated)").fadeIn(conf.changeTime);
150					$(this).find("img:eq(1):not(:animated)").fadeOut(conf.changeTime);
151				},
152				function(){
153					$(this).find("img:eq(0)").fadeOut(conf.changeTime);
154					$(this).find("img:eq(1)").fadeIn(conf.changeTime);
155				});
156			});
157		},
158
159		shuffleText: function (options) {
160			var conf = $.extend({
161				selector: "#main_menu li a",
162				languageType: "en",
163				loopTime: 10,
164				showTime: 50
165			}, options)
166	
167			var target = $(conf.selector);
168	
169			target.each(function(){
170				this.originallyStr = $(this).text();
171				this.showStr = "";
172				this.loopTimer;
173				this.showTimer;
174			});
175			
176			target.mouseover(function() {
177				var selector = this;
178				this.showStr = "";
179				clearInterval(this.loopTimer);
180				clearInterval(this.showTimer);
181				this.loopTimer = setInterval(function() { loop(selector) }, conf.loopTime);
182				this.showTimer = setInterval(function() { originallyStrShow(selector) }, conf.showTime);
183			});
184			
185			function loop(selector) {
186				
187				$(selector).text(selector.showStr);
188				if (selector.originallyStr.length - selector.showStr.length > 0) {
189					for (i = 0; i < selector.originallyStr.length - selector.showStr.length; i++) {
190						var shuffleStr = getShuffleStr();
191						$(selector).append(shuffleStr);
192					}
193				} else {
194					clearInterval(selector.loopTimer);
195				}
196			}
197			
198			function originallyStrShow(selector) {
199				
200				if (selector.showStr.length < selector.originallyStr.length) {
201					selector.showStr = selector.originallyStr.substr(0, selector.showStr.length + 1);
202				} else {
203					clearInterval(selector.showTimer);
204				}
205			}
206			
207			function getShuffleStr() {
208				var str;
209				switch (conf.languageType) {
210					case "en":
211						str = String.fromCharCode(33 + Math.round(Math.random() * 99));
212						break;
213					case "hiragana":
214						str = String.fromCharCode(12352 + Math.round(Math.random() * 84));
215						break;
216					case "katakana":
217						str = String.fromCharCode(12448 + Math.round(Math.random() * 84));
218						break;
219					case "kanji":
220						str = String.fromCharCode(19968 + Math.round(Math.random() * 200));
221						break;
222				}
223				return str;
224			}
225		}
226		
227	};
228	
229})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.