1/* 2 * jQuery.BiggerLink v2.0.1 3 * http://www.ollicle.com/eg/jquery/biggerlink/ 4 * 5 * Copyright (c) 2009 Oliver Boermans 6 * http://creativecommons.org/licenses/MIT/ 7 * 8 * 2009-11-22 (22 Nov 2009) 9 */ 10(function (a) { 11 a.fn.biggerlink = function (b) { 12 var c = { 13 biggerclass: "bl-bigger", 14 hoverclass: "bl-hover", 15 hoverclass2: "bl-hover2", 16 clickableclass: "bl-hot", 17 otherstriggermaster: true, 18 follow: "auto", 19 }; 20 if (b) { 21 a.extend(c, b); 22 } 23 a(this) 24 .filter(function () { 25 return a("a", this).length > 0; 26 }) 27 .addClass(c.clickableclass) 28 .css("cursor", "pointer") 29 .each(function (g) { 30 var d = a(this).data("biggerlink", { 31 hovered: false, 32 focused: false, 33 hovered2: false, 34 focused2: false, 35 }); 36 var e = { 37 all: a("a", this), 38 big: a(this), 39 master: a("a:first", this) 40 .data("biggerlink", { status: "master" }) 41 .addClass(c.biggerclass), 42 other: a("a", this) 43 .not(a("a:first", this)) 44 .data("biggerlink", { status: "other" }), 45 }; 46 a("a", this) 47 .addBack() 48 .each(function () { 49 var i = a.extend(a(this).data("biggerlink"), e); 50 a(this).data("biggerlink", i); 51 }); 52 var h = d.attr("title"); 53 var f = d.data("biggerlink").master.attr("title"); 54 if (f && !h) { 55 d.attr("title", f); 56 } 57 d.mouseover(function (i) { 58 window.status = a(this) 59 .data("biggerlink") 60 .master.get(0).href; 61 a(this).addClass(c.hoverclass); 62 a(this).data("biggerlink").hovered = true; 63 }) 64 .mouseout(function (i) { 65 window.status = ""; 66 if (!a(this).data("biggerlink").focused) { 67 a(this).removeClass(c.hoverclass); 68 } 69 a(this).data("biggerlink").hovered = false; 70 }) 71 .bind("click", function (i) { 72 if (!a(i.target).closest("a").length) { 73 a(this).data("biggerlink").master.trigger({ 74 type: "click", 75 source: "biggerlink", 76 }); 77 i.stopPropagation(); 78 } 79 }); 80 e.all 81 .bind("focus", function () { 82 a(this).data("biggerlink").big.addClass(c.hoverclass); 83 a(this) 84 .data("biggerlink") 85 .big.data("biggerlink").focused = true; 86 }) 87 .bind("blur", function () { 88 if ( 89 !a(this).data("biggerlink").big.data("biggerlink") 90 .hovered 91 ) { 92 a(this) 93 .data("biggerlink") 94 .big.removeClass(c.hoverclass); 95 } 96 a(this) 97 .data("biggerlink") 98 .big.data("biggerlink").focused = false; 99 }); 100 e.master.bind("click", function (i) { 101 if (i.source == "biggerlink") { 102 if ( 103 c.follow === true || 104 (c.follow == "auto" && i.result !== false) 105 ) { 106 window.location = a(this).attr("href"); 107 } else { 108 i.stopPropagation(); 109 } 110 } 111 }); 112 if (c.otherstriggermaster) { 113 e.other.addClass(c.biggerclass).bind("click", function (i) { 114 a(this).data("biggerlink").master.trigger({ 115 type: "click", 116 source: "biggerlink", 117 }); 118 i.preventDefault(); 119 i.stopPropagation(); 120 }); 121 } else { 122 e.other 123 .bind("focus", function () { 124 a(this) 125 .data("biggerlink") 126 .big.addClass(c.hoverclass2); 127 a(this) 128 .data("biggerlink") 129 .big.data("biggerlink").focused2 = true; 130 }) 131 .bind("blur", function () { 132 if ( 133 !a(this) 134 .data("biggerlink") 135 .big.data("biggerlink").hovered2 136 ) { 137 a(this) 138 .data("biggerlink") 139 .big.removeClass(c.hoverclass2); 140 } 141 a(this) 142 .data("biggerlink") 143 .big.data("biggerlink").focused2 = false;
144 }) 145 .bind("mouseover", function (i) { 146 a(this) 147 .data("biggerlink") 148 .big.addClass(c.hoverclass2); 149 a(this) 150 .data("biggerlink") 151 .big.data("biggerlink").hovered2 = true; 152 i.stopPropagation(); 153 }) 154 .bind("mouseout", function (i) { 155 if ( 156 !a(this) 157 .data("biggerlink") 158 .big.data("biggerlink").focused2 159 ) { 160 a(this) 161 .data("biggerlink") 162 .big.removeClass(c.hoverclass2); 163 } 164 a(this) 165 .data("biggerlink") 166 .big.data("biggerlink").hovered2 = false; 167 i.stopPropagation(); 168 }); 169 if (!e.other.attr("title")) { 170 e.other.attr("title", ""); 171 } 172 } 173 }); 174 return this; 175 }; 176})(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.