public
Last active

  • Download Gist
gistfile1.js
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376
// http://jquery14.com/day-010/jquery-1-4-hawtness-4-with-paul-irish
 
 
/*d8b .d88888b. d888 d8888
Y8P d88P" "Y88b d8888 d8P888
888 888 888 d8P 888
8888 888 888 888 888 .d88b. 888d888 888 888 888 d8P 888
"888 888 888 888 888 d8P Y8b 888P" 888 888 888 d88 888
888 888 Y8b 888 888 888 88888888 888 888 888 888 8888888888
888 Y88b.Y8b88P Y88b 888 Y8b. 888 Y88b 888 888 d8b 888
888 "Y888888" "Y88888 "Y8888 888 "Y88888 8888888 Y8P 888
888 Y8b 888
d88P Y8b d88P
888P" "Y88P"
 
888 888 888
888 888 888
888 888 888
8888888888 8888b. 888 888 888 888888 88888b. .d88b. .d8888b .d8888b
888 888 "88b 888 888 888 888 888 "88b d8P Y8b 88K 88K
888 888 .d888888 888 888 888 888 888 888 88888888 "Y8888b. "Y8888b.
888 888 888 888 Y88b 888 d88P Y88b. 888 888 Y8b. X88 X88
888 888 "Y888888 "Y8888888P" "Y888 888 888 "Y8888 88888P' 88888P'
 
 
#4: traversing. manipulation. ajax
 
db d8b db d888888b d888888b db db
88 I8I 88 `88' `~~88~~' 88 88
88 I8I 88 88 88 88ooo88
Y8 I8I 88 88 88 88~~~88
`8b d8'8b d8' .88. 88 88 88
`8b8' `8d8' Y888888P YP YP YP
 
d8888b. .d8b. db db db d888888b d8888b. d888888b .d8888. db db
88 `8D d8' `8b 88 88 88 `88' 88 `8D `88' 88' YP 88 88
88oodD' 88ooo88 88 88 88 88 88oobY' 88 `8bo. 88ooo88
88~~~ 88~~~88 88 88 88 88 88`8b 88 `Y8b. 88~~~88
88 88 88 88b d88 88booo. .88. 88 `88. .88. db 8D 88 88
88 YP YP ~Y8888P' Y88888P Y888888P 88 YD Y888888P `8888Y' YP YP
 
*/
 
 
 
 
 
 
 
/*
oooo
`888
888 .oo. .oooo. .oooo.o
888P"Y88b `P )88b d88( "8
888 888 .oP"888 `"Y88b.
888 888 d8( 888 o. )88b
o888o o888o `Y888""8o 8""888P'
*/
 
 
 
$('li:has(a)').addClass('navLI');
 
 
 
$('li').has('a').addClass('navLI');
 
 
 
// equivalent
$myLI.filter(function(){
return $(this).find('a').length;
})
 
 
 
 
 
 
 
 
/*
 
.o88o. o8o . oooo .
888 `" `"' .o8 `888 .o8
.ooooo. .ooooo oo o888oo oooo oooo d8b .oooo.o .o888oo 888 .oooo. .oooo.o .o888oo
d88' `88b d88' `888 888 `888 `888""8P d88( "8 888 888 `P )88b d88( "8 888
888ooo888 888 888 888 888 888 `"Y88b. 888 888 .oP"888 `"Y88b. 888
888 .o 888 888 .o. 888 888 888 o. )88b 888 . 888 d8( 888 o. )88b 888 .
`Y8bod8P' `V8bod888 Y8P o888o o888o d888b 8""888P' "888" o888o `Y888""8o 8""888P' "888"
888.
8P'
"
*/
 
var lastelem = $elems.eq(-1); // get() too!
 
 
$('#nav li:first') === $('#nav li').first()
 
$('#nav li:last') === $('#nav li').last()
 
 
 
 
 
 
 
 
 
/*
. o8o oooo .o.
.o8 `"' `888 888
oooo oooo ooo. .oo. .o888oo oooo 888 .oooo.o 888
`888 `888 `888P"Y88b 888 `888 888 d88( "8 Y8P
888 888 888 888 888 888 888 `"Y88b. `8'
888 888 888 888 888 . 888 888 o. )88b .o.
`V88V"V8P' o888o o888o "888" o888o o888o 8""888P' Y8P
*/
 
 
 
// next until
 
$('dl dt').click(function(){
$(this).nextUntil('dt').fadeIn();
});
 
 
 
 
 
 
// prev until
 
$('a.markasread').live('click',function(){
var readIDs = $(this)
.closest('p').prevUntil('p.read') // optional p arg
.addClass('read')
.map(function( return this.id )).get();
$.post('readstate.php',readIDs);
});
 
 
 
 
 
// parents until
 
$('a.explode').click(function(){
$(this)
.parentsUntil('.explodecontainer')
.css('position','absolute')
.animate({
opacity: 0,
top : '-='+ -100+Math.random()*200 + 'px',
left: '+='+ -100+Math.random()*200 + 'px',
});
});
 
 
 
 
 
 
/*
.o8 .o8
"888 "888
.oooo. .oooo888 .oooo888
`P )88b d88' `888 d88' `888
.oP"888 888 888 888 888
d8( 888 888 888 888 888
`Y888""8o `Y8bod88P" `Y8bod88P"
 
*/
 
// now with context()!
 
$('div.inbox').load('newmail.php', function(){
$('.title', this)
.hover(showTooltip)
.add('.from', this)
.click(openMsg);
});
 
 
 
 
/*
 
oooo oooo ooo. .oo. oooo oooo ooo oooo d8b .oooo. oo.ooooo.
`888 `888 `888P"Y88b `88. `88. .8' `888""8P `P )88b 888' `88b
888 888 888 888 `88..]88..8' 888 .oP"888 888 888
888 888 888 888 `888'`888' 888 d8( 888 888 888
`V88V"V8P' o888o o888o `8' `8' d888b `Y888""8o 888bod8P'
888
o888o
*/
 
 
 
<body>
<div>
<p>annie</p>
<p>davey</p>
<p>stevie</p>
</div>
</body>
// */
 
// i had this as $('div').unwrap() in the video but that was SO damn wrong.
// i apologize.
$('p').unwrap();
 
 
 
<body>
<p>annie</p>
<p>davey</p>
<p>stevie</p>
</body>
 
 
 
 
 
 
 
 
/*
o8o .o. .o. .o. .o
`"' 888 888 888 o888
.oooo. oooo .oooo. oooo ooo 888 888 888 888
`P )88b `888 `P )88b `88b..8P' Y8P Y8P Y8P 888
.oP"888 888 .oP"888 Y888' `8' `8' `8' 888
d8( 888 888 d8( 888 .o8"'88b .o. .o. .o. 888
`Y888""8o 888 `Y888""8o o88' 888o Y8P Y8P Y8P o888o
888
.o. 88P
`Y888P
 
*/
// http://farm1.static.flickr.com/31/66831554_1e1630590f.jpg
 
 
 
 
 
// In jQuery 1.3, the contentType setting was ignored in jQuery.ajax if no data was sent. In jQuery 1.4, the contentType is always sent. This fixes an issue with some backends that used the Content-Type header to decide what kind of response to send.
 
 
 
 
 
 
 
// Response headers will be obeyed (if no dataType):
 
Content-Type : 'application/json' // parsed as JSON
// or
Content-Type : 'application/javascript' // executed as script
 
 
 
 
 
 
 
// The success callback for any ajax request now
// receives the XMLHttpRequest object as the third argument.
 
$.get(myurl,function(data,textStatus,XHR){
// XHR object available here!!11
});
 
 
 
 
 
 
/*
o8o
`"'
oooo .oooo.o .ooooo. ooo. .oo. oo.ooooo.
`888 d88( "8 d88' `88b `888P"Y88b 888' `88b
888 `"Y88b. 888 888 888 888 888 888
888 o. )88b 888 888 888 888 888 888
888 8""888P' `Y8bod8P' o888o o888o 888bod8P'
888 888
.o. 88P o888o
`Y888P
*/
 
// more like.. json-c. json with callback. write to your congressman!
//jsonpCallback
 
window._callback = function(data) {
window.console && console.log(data);
};
 
 
jQuery.ajax({
url: "http://pipes.yahoo.com/pipe.run?_id=UtVVPkx83h&_render=json&_callback=?",
dataType: "jsonp",
jsonpCallback: "_callback"
});
 
 
 
 
 
// new explicit JSON parsing
// use www.jsonlint.com
 
$.getJSON('bestdataever.json.js',function(){
...
});
 
//response:
{
"unquotedkeys" : true,
"invalid" : true
}
 
 
// ERRORS WILL BE THROWN. BELIEVE YOU ME.
 
 
 
 
/*
 
oo.ooooo. .oooo. oooo d8b .oooo. ooo. .oo. .oo.
888' `88b `P )88b `888""8P `P )88b `888P"Y88bP"Y88b
888 888 .oP"888 888 .oP"888 888 888 888
888 888 d8( 888 888 d8( 888 888 888 888
888bod8P' `Y888""8o d888b `Y888""8o o888o o888o o888o
888
o888o
*/
 
 
// As of jQuery 1.4, the $.param() method serializes deep objects
// recursively to accommodate modern scripting languages and
// frameworks such as PHP and Ruby on Rails.
 
 
// In jQuery 1.3: (or jQuery.ajaxSettings.traditional=true; in 1.4)
$.param( {foo: ["bar", "baz"]} ) === "foo=bar&foo=baz".
 
// In jQuery1.4
$.param( {foo: ["bar", "baz"]} ) === "foo[]=bar&foo[]=baz".
 
 
 
 
 
 
 
 
 
// In jQuery 1.4 HTML5 input elements are serialized, as well.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.