-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswapimage-min.js
11 lines (11 loc) · 2.44 KB
/
swapimage-min.js
1
2
3
4
5
6
7
8
9
10
11
/**
* SwapImage - YUI plugin for swapping image(s)
*
* Copyright (c) 2009 tszming (tszming@gmail.com)
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
(function(){var c=YAHOO.util.Dom;var b=YAHOO.plugin.Metadata;YAHOO.namespace("plugin");YAHOO.plugin.SwapImage={files:{},data:{},init:function(){var e=c.generateId(this);var d=b.get(this);a.data[e]=a.data[e]||{};if(typeof d.src!="undefined"){a.data[e]["src"]=d.src;a.files[d.src]=false}a._each(a._grep([[d.sin,"sin"],[d.sout,"sout"]],function(f){return(typeof f[0]!="undefined"&&f[0].length>0)}),function(){var g=this[0];var l=this[1];for(var j=0;j<g.length;j++){var f=d[l][j].indexOf(":");var k=d[l][j].substring(0,f);var h=d[l][j].substring(f+1);a.data[e][l]=a.data[e][l]||[];if(f>1){a.data[e][l].push([k,h]);a.files[h]=false}else{a.data[e][l].push([h])}}})},preload:function(){a._each(a.files,function(f,e){if(e==false){a.files[f]=true;var d=new Image();d.src=f}})},swapIn:function(){a.swap(this,"sin")},swapOut:function(){a.swap(this,"sout")},swap:function(g,d){var h=c.generateId(g);if(typeof a.data[h][d]!="undefined"){for(var e=0;e<a.data[h][d].length;e++){var f=YAHOO.util.Selector.query(a.data[h][d][e][0]);if(a.data[h][d][e].length>1){a._each(f,function(){this.src=a.data[h][d][e][1]})}else{a._each(f,a._swap)}}}else{a._swap.call(g)}},_swap:function(){var f=c.generateId(this);var e=a.data[f];if(typeof e.src!="undefined"){var d=e.src;e.src=this.src;this.src=d}},_each:function(e,j){var d,f=0,g=e.length;if(g===undefined){for(d in e){if(j.call(e[d],d,e[d])===false){break}}}else{for(var h=e[0];f<g&&j.call(h,f,h)!==false;h=e[++f]){}}},_grep:function(e,j,d){var f=[];for(var g=0,h=e.length;g<h;g++){if(!d!=!j(e[g],g)){f.push(e[g])}}return f},bind:function(e,d,g,h,f){YAHOO.util.Event.onDOMReady(function(){if(typeof g=="undefined"){g=true}if(typeof d=="undefined"){d=true}var i=YAHOO.util.Selector.query(e);a._each(i,a.init);if(typeof h=="undefined"&&typeof h=="undefined"){h="mouseover";f="mouseout"}if(g){if(typeof f!="undefined"){YAHOO.util.Event.addListener(i,h,a.swapIn);YAHOO.util.Event.addListener(i,f,a.swapOut)}else{YAHOO.util.Event.addListener(i,h,a.swapIn)}}else{YAHOO.util.Event.addListener(i,h,function(){a.swapIn.call(this);YAHOO.util.Event.removeListener(i,h,null)})}if(d){a._each(i,a.preload)}})}};var a=YAHOO.plugin.SwapImage;YAHOO.register("YAHOO.plugin.SwapImage",YAHOO.plugin.SwapImage,{version:"1.0",build:"4"})})();