├── README.md ├── jQuery-Challenges ├── project-1 │ └── index.html ├── project-2 │ ├── index.html │ └── index.js ├── project-3 │ └── index.js └── project-4 │ ├── index.html │ └── index.js └── jQuery-Projects ├── project-1 ├── README.md ├── assets │ ├── images │ │ ├── image1.jpg │ │ ├── image2.jpg │ │ ├── image3.jpg │ │ ├── image4.jpg │ │ ├── image5.jpg │ │ └── image6.jpg │ └── thumbnails │ │ ├── thumb1.jpg │ │ ├── thumb2.jpg │ │ ├── thumb3.jpg │ │ ├── thumb4.jpg │ │ ├── thumb5.jpg │ │ └── thumb6.jpg ├── index.html ├── lightbox2-master │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── dist │ │ ├── css │ │ │ └── lightbox.css │ │ ├── images │ │ │ ├── close.png │ │ │ ├── loading.gif │ │ │ ├── next.png │ │ │ └── prev.png │ │ └── js │ │ │ ├── lightbox-plus-jquery.js │ │ │ ├── lightbox-plus-jquery.min.js │ │ │ ├── lightbox-plus-jquery.min.map │ │ │ ├── lightbox.js │ │ │ ├── lightbox.min.js │ │ │ └── lightbox.min.map │ ├── examples │ │ └── index.html │ ├── package.json │ └── src │ │ ├── css │ │ └── lightbox.css │ │ ├── images │ │ ├── close.png │ │ ├── loading.gif │ │ ├── next.png │ │ └── prev.png │ │ └── js │ │ └── lightbox.js └── styles.css ├── project-2 ├── README.md ├── assets │ ├── arrow-down.svg │ └── arrow-up.svg ├── index.html ├── index.js └── styles.css ├── project-3 ├── README.md ├── index.html ├── index.js └── styles.css └── project-4 ├── README.md ├── index.html └── index.js /README.md: -------------------------------------------------------------------------------- 1 | # jQuery 2 | 3 | ### Prerequisites: HTML & CSS Selectors 4 | 5 | ### Goal: Build multiple interactive webpages using jQuery 6 | 7 | #### Objectives: 8 | 9 | * Read and understand documentation for external libraries 10 | * Understanding the DOM 11 | * Fundamentals of jQuery, including DOM traversal and manipulation 12 | * Debug projects using the console and debugger 13 | * Resources for troubleshooting jQuery beyond this course 14 | * Basic understanding of AJAX 15 | * Complete a jQuery project by yourself from scratch to completion 16 | 17 | ### Project 1: LightBox 18 | 19 | Simple photo gallery app, using the Lightbox library. 20 | 21 | * Learn how to read the Lightbox documentation 22 | * Learn how to include the Lightbox assets into our folder structure 23 | * Learn how to make the images work with the `data-lightbox` attribute 24 | * Make the photos into a gallery by giving them the same `data-lightbox` id 25 | * Add an option: `positionFromTop()` 26 | 27 | #### Challenge: 28 | * Choose 6 photos from Google (or your personal library) and replace the current images in your project 29 | * Replace the header text to something relevant to your new photos 30 | * Add one more option that Lightbox provides 31 | 32 | ### Project 2: FAQ Page 33 | 34 | Basic FAQ Page, using an animated accordion drop down. When a question is clicked, the corresponding answer is revealed. 35 | 36 | * Introduce the DOM 37 | * $ - jQuery selector function 38 | * CSS Selectors 39 | * console.log() 40 | * Explore effects: `slideDown()`,`slideToggle()` and `fadeToggle()` 41 | * $this 42 | 43 | #### Challenge: 44 | * Create a custom animation using `animate()` 45 | * Add a 4th question to the FAQ 46 | * Replace the text of one of the answers with an image or gif 47 | 48 | 49 | ### Project 3: Todo List 50 | 51 | Simple todo list app, using local storage to persist data. 52 | 53 | * $(document).ready() 54 | * event.preventDefault() 55 | * Conditionals 56 | * Adding/removing DOM elements 57 | * Modifying HTML attributes 58 | * Persisting data in local storage 59 | 60 | #### Challenge: 61 | * Add an animation to the item removal 62 | * Add an easter egg, i.e. if the `listItem === "dance"` have a dance gif take over the screen 63 | 64 | ### Project 4: Launch Pads 65 | 66 | Apartment marketplace app with city filtering, and rendering JSON data using AJAX. 67 | 68 | * Objects & Arrays 69 | * Requesting data with AJAX 70 | * Using the debugger 71 | * jQuery Utility Methods ($.each, $.grep) 72 | * Bootstrap Framework 73 | * JSON 74 | 75 | #### Challenge: 76 | * Add [Bootstrap JS](https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js) to your application 77 | * Following the Bootstrap documentation, use a Bootstrap modal or alert to notify the user when a listing has been clicked that a new tab has been opened in Google Maps 78 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Summer Vacation 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | — My Trip to — 16 |

The Golden State

17 |
18 | 19 | Surfing 20 | 21 | 22 | Lifeguard Stand 23 | 24 | 25 | Hot Air Balloon 26 | 27 | 28 | Field Freedom 29 | 30 | 31 | Golden Gate Bridge 32 | 33 | 34 | Pacific Ocean Sunset 35 | 36 |
37 | 38 | 39 | 40 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-2/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | One Month jQuery 8 | 9 | 10 | 11 | 12 |

Frequently Asked Questions

13 |
14 |
1. What is jQuery? 15 | 16 | 17 |
18 |
19 | jQuery is a JavaScript framework, which purpose is to make it much easier to use JavaScript on your website. You could also describe jQuery as an abstraction layer, since it takes a lot of the functionality that you would have to write many lines of JavaScript to accomplish and wraps it into functions that you can call with a single line of code. 20 |
21 |
22 |
23 |
24 |
2. Do I need to know JavaScript to use jQuery? 25 | 26 | 27 |
28 |
29 | No, you don't need to know JavaScript to use jQuery. In fact, jQuery tries to simplify a lot of the complicated things with JavaScript, like AJAX calls and DOM manipulation, so that you may do these things without knowing JavaScript. 30 |
31 |
32 |
33 |
34 |
3. Does jQuery replace JavsScript? 35 | 36 | 37 |
38 | 39 |
40 | 41 |
42 | 43 |
44 |
45 | 46 |
47 |
4. Are you human? 48 | 49 | 50 |
51 |
52 | I'm pretty sure, but after writing all this code, I'm not sure. Maybe I'm a robot. 53 |
54 |
55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-2/index.js: -------------------------------------------------------------------------------- 1 | // ********** CHALLENGE: ADD ANOTHER OPTION ********** 2 | $(".question").click(function () { 3 | $(this).children().toggleClass("collapse"); 4 | $(this).next().animate({ 5 | width: [ "toggle", "swing" ], 6 | height: [ "toggle", "swing" ], 7 | opacity: "toggle", 8 | fontSize: ["40px"]}, "slow" 9 | ); 10 | }); 11 | // ********** 12 | 13 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-3/index.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function () { 2 | var $listItems = $("#list-items"); // Save reference to local storage object. 3 | 4 | if (localStorage.getItem("list-items")) { 5 | $listItems.html(localStorage.getItem("list-items")); // Check if anythig is in local storage. 6 | } 7 | 8 | // Adding items. 9 | $(".add").click(function (event) { 10 | event.preventDefault(); // Prevent default event. 11 | 12 | var item = $("#todo-list-item").val(); // Get item value. 13 | 14 | if (item) { 15 | // ********** CHALLENGE: ADD "DANCE" EASTER EGG ********** 16 | if (item === "dance") { 17 | $listItems.append("
  • x
  • "); 18 | // ********** 19 | } else { 20 | $listItems.append("
  • " + item + "x
  • "); 21 | } 22 | localStorage.setItem("list-items", $listItems.html()); // Update local storage. 23 | $("#todo-list-item").val(""); 24 | } 25 | }); 26 | 27 | // Completing Items. 28 | $(document).on("change", "input[type='checkbox']", function () { 29 | if ($(this).attr("checked")) { // Persist checkbox. 30 | $(this).removeAttr("checked"); 31 | } else { 32 | $(this).attr("checked", "checked"); 33 | } 34 | 35 | $(this).parent().toggleClass("completed"); // Strike-through task. 36 | localStorage.setItem("list-items", $listItems.html()); // Update local storage. 37 | }); 38 | 39 | // Removing Items. 40 | $(document).on("click", ".remove", function (event) { 41 | event.preventDefault(); // Prevent default event. 42 | // ********** CHALLENGE: ADD ANIMATE TO ITEM REMOVAL ********** 43 | var itemToremove = $(this).parent(); 44 | itemToremove.fadeOut("slow", function() { 45 | itemToremove.remove(); 46 | }); 47 | // ********** 48 | localStorage.setItem("list-items", $listItems.html()); // Update local storage. 49 | }); 50 | }); 51 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-4/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Launch Pads 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
    18 |
    19 |
    20 |
    21 |

    All Rentals

    22 |
    23 | All 24 | Bronx 25 | Brooklyn 26 | Manhattan 27 | Queens 28 | Staten Island 29 |
    30 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 | 45 | 46 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /jQuery-Challenges/project-4/index.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | var apartmentArray = []; 3 | 4 | $.ajax({ 5 | url: "https://api.myjson.com/bins/2sadq?pretty=1", 6 | dataType: "json", 7 | success: function(response) { 8 | $.each( response.apartments, function(i, apartment) { 9 | var apartmentClass = apartment.city.toLowerCase().replace(" ", "-"); 10 | 11 | apartmentArray.push( 12 | "

    " + 13 | apartment.description + "/" + apartment.bedrooms + "/" + apartment.price + 14 | "

    " + apartment.neighborhood + "

    " 15 | ); 16 | }); 17 | 18 | $(".apartments").append(apartmentArray); 19 | } 20 | }); 21 | 22 | $(".filter").click(function() { 23 | $(".filter").removeClass("active"); 24 | $(this).addClass("active"); 25 | 26 | $(".listings").show(); 27 | 28 | var city = $(this).attr("id"); 29 | 30 | if (city !== "all") { 31 | $(".listings").not("." + city).css("display", "none"); 32 | } 33 | }); 34 | 35 | $(document).on("click", ".listings", function () { 36 | var id = $(this).attr("id"); 37 | $.ajax({ 38 | url: "https://api.myjson.com/bins/2sadq?pretty=1", 39 | dataType: "json", 40 | success: function(response) { 41 | var selectedApartment = $.grep(response.apartments, function(apartment) { 42 | return apartment.id == id; 43 | }); 44 | 45 | var address = selectedApartment[0].address; 46 | // ********** CHALLENGE: SHOW MODAL ********** 47 | $('#apartmentModal').modal('show'); 48 | // ********** 49 | window.open("http://maps.google.com/?q=" + address); 50 | } 51 | }); 52 | }); 53 | }); 54 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/README.md: -------------------------------------------------------------------------------- 1 | # Project 1: Lightbox 2 | 3 | Simple photo gallery app, using the Lightbox library. 4 | 5 | ## Links 6 | 7 | jQuery: http://jquery.com/ 8 | 9 | Lightbox: http://lokeshdhakar.com/projects/lightbox2/ 10 | 11 | ## Challenge 12 | 13 | * Choose 6 photos from Google (or your personal library) and replace the current images in your project 14 | * Replace the header text to something relevant to your new photos 15 | * Add one more option that Lightbox provides 16 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image1.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image2.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image3.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image4.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image5.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/images/image6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/images/image6.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb1.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb2.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb3.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb4.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb5.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/assets/thumbnails/thumb6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/assets/thumbnails/thumb6.jpg -------------------------------------------------------------------------------- /jQuery-Projects/project-1/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Summer Vacation 8 | 9 | 10 | 11 | 12 | 13 |
    14 |
    15 | — My Trip to — 16 |

    The Golden State

    17 |
    18 | 19 | Surfing 20 | 21 | 22 | Lifeguard Stand 23 | 24 | 25 | Hot Air Balloon 26 | 27 | 28 | Field Freedom 29 | 30 | 31 | Golden Gate Bridge 32 | 33 | 34 | Pacific Ocean Sunset 35 | 36 |
    37 | 38 | 39 | 40 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Lightbox2 2 | 3 | ## Found a bug? 4 | 5 | [Search through existing Github Issues](https://github.com/lokesh/lightbox2/issues) that have been reported to avoid creating a duplicate issue. If your bug has not been reported, create a new issue with the following details: 6 | 7 | - What version of Lightbox2 you are using 8 | - Information on which browsers and operating systems you have reproduced the bug on 9 | - Steps to reproduce the bug 10 | - A link to your production site where the bug is visible or all relevant HTML, CSS, and Javascript required to recreate the bug 11 | 12 | All of the above are required. 13 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt) { 2 | 3 | grunt.initConfig({ 4 | concat: { 5 | dist: { 6 | src: ['bower_components/jquery/dist/jquery.js', 'src/js/lightbox.js'], 7 | dest: 'dist/js/lightbox-plus-jquery.js', 8 | }, 9 | }, 10 | connect: { 11 | server: { 12 | options: { 13 | port: 8000 14 | } 15 | } 16 | }, 17 | copy: { 18 | dist: { 19 | files: [ 20 | { 21 | expand: true, 22 | cwd: 'src/', 23 | src: ['**'], 24 | dest: 'dist/' 25 | } 26 | ], 27 | }, 28 | }, 29 | jshint: { 30 | all: [ 31 | 'src/js/lightbox.js' 32 | ], 33 | options: { 34 | jshintrc: true 35 | } 36 | }, 37 | jscs: { 38 | src: [ 39 | 'src/js/lightbox.js' 40 | ], 41 | options: { 42 | config: ".jscsrc" 43 | } 44 | }, 45 | uglify: { 46 | options: { 47 | preserveComments: 'some', 48 | sourceMap: true 49 | }, 50 | dist: { 51 | files: { 52 | 'dist/js/lightbox.min.js': ['src/js/lightbox.js'], 53 | 'dist/js/lightbox-plus-jquery.min.js': ['dist/js/lightbox-plus-jquery.js'] 54 | } 55 | } 56 | }, 57 | watch: { 58 | jshint: { 59 | files: ['src/js/lightbox.js'], 60 | tasks: ['jshint', 'jscs'] 61 | } 62 | } 63 | }); 64 | 65 | grunt.loadNpmTasks('grunt-contrib-concat'); 66 | grunt.loadNpmTasks('grunt-contrib-connect'); 67 | grunt.loadNpmTasks('grunt-contrib-copy'); 68 | grunt.loadNpmTasks('grunt-contrib-jshint'); 69 | grunt.loadNpmTasks('grunt-contrib-uglify'); 70 | grunt.loadNpmTasks('grunt-contrib-watch'); 71 | grunt.loadNpmTasks("grunt-jscs"); 72 | 73 | grunt.registerTask('default', ['connect', 'watch']); 74 | grunt.registerTask('test', ['jshint', 'jscs']); 75 | grunt.registerTask('build', ['jshint', 'jscs', 'copy:dist', 'concat', 'uglify']); 76 | }; -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Lokesh Dhakar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/README.md: -------------------------------------------------------------------------------- 1 | # Lightbox2 2 | 3 | The original lightbox script. Eight years later — still going strong! 4 | 5 | Lightbox is small javascript library used to overlay images on top of the current page. It's a snap to setup and works on all modern browsers. 6 | 7 | For demos and usage instructions, visit [lokeshdhakar.com/projects/lightbox2/](http://lokeshdhakar.com/projects/lightbox2/). 8 | 9 | by [Lokesh Dhakar](http://www.lokeshdhakar.com) 10 | 11 | 12 | ## Roadmap 13 | 14 | - **Maintenance.** Get open Issues and PRs number down. 15 | - **Mobile experience.** Redo animations and interactions from scratch and include gesture support. 16 | 17 | ## Changelog 18 | 19 | ### v2.8.0 - 2015-06-29 20 | 21 | - [Add] UMD support (AMD, CommonJS, fallback to global export).[#461](https://github.com/lokesh/lightbox2/pull/461) 22 | - [Add] CONTRIBUTING.md 23 | 24 | ### v2.7.4 - 2015-06-23 25 | 26 | - [Change] Revert jquery dep version to 2.x from 1.x. Added note to Lightbox page about using jQuery 1.x to get IE6, 7, and 8 support. 27 | - [Fix] Preserve author and license comments from lightbox.js in minified files. 28 | 29 | ### v2.7.3 - 2015-06-22 30 | 31 | - [Add] Barebone HTML file with examples /examples/index.html. 32 | - [Add] jquery.lightbox.js which concatenates jQuery and Lightbox. This is for those who are Bower averse or want an extra easy install. 33 | 34 | ### v2.7.2 - 2015-06-16 35 | 36 | - [Add] maxWidth and maxHeight options added [#197](https://github.com/lokesh/lightbox2/pull/197) 37 | - [Add] Enable target attribute in caption links [#299](https://github.com/lokesh/lightbox2/pull/299) 38 | - [Change] Switched to The MIT License from Creative Commons Attribution 4.0 International License. 39 | - [Change] Add CSS and images to bower.json main property. 40 | - [Change] Dropped version property from bower.json. [#453](https://github.com/lokesh/lightbox2/pull/453) 41 | - [Change] Use src -> dist folder structure for build. 42 | - [Fix] Remove empty src attribute from img tag [#287](https://github.com/lokesh/lightbox2/pull/287) 43 | - [Fix] Correct grammatical error in comment [#224](https://github.com/lokesh/lightbox2/pull/224) 44 | - [Fix] Clear the jquery animation queue before hiding the .lb-loader [#309](https://github.com/lokesh/lightbox2/pull/309) 45 | - [Remove] Remove releases's zips from repo. 46 | 47 | ### v2.7.1 - 2014-03-30 48 | 49 | - [Fix] Enable links in captions 50 | 51 | ### v2.7.0 - 2014-03-29 52 | 53 | - [Add] Support for data-title attribute for the caption - Thanks https://github.com/copycut 54 | - [Add] New option to enable always visible prev and next arrows 55 | - [Change] Rewrite Coffeescript code into plain ole Javascript 56 | - [Change] Updated jQuery to v1.10.2 57 | - [Fix] prev/next arrows not appearing in IE9 and IE 10 - Thanks https://github.com/rebizu 58 | - [Fix] Support wrap around option w/keyboard actions. Thanks https://github.com/vovayatsyuk 59 | 60 | ### v2.6.0 - 2013-07-06 61 | 62 | - [Add] Added wraparound option 63 | - [Add] Added fitImagesInViewport option - now mobile friendly 64 | - [Add] Added showImageNumber label 65 | - [Add] Compatibility with html5shiv 66 | - [Add] Html5 valid using new data-lightbox attribute 67 | - [Add] Compatibility with hmtl5shiv and modernizr 68 | - [Add] Support jquery 1.9+ 69 | - [Change] Move reference to loading and close images into css 70 | - [Change] Cache jquery objects 71 | 72 | ### v2.5.0 - 2012-04-11 73 | 74 | - [Change] Switch to jQuery from Prototype and Scriptaculous 75 | - [Change] Switch from Javacript to Coffeescript 76 | - [Change] Switch from CSS to SASS 77 | - [Add] Repo created on Github -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lightbox2", 3 | "homepage": "http://lokeshdhakar.com/projects/lightbox2/", 4 | "authors": [ 5 | "Lokesh Dhakar " 6 | ], 7 | "description": "The original Lightbox script. Uses jQuery.", 8 | "main": [ 9 | "./dist/js/lightbox.js", 10 | "./dist/css/lightbox.css", 11 | "./dist/images/close.png", 12 | "./dist/images/loading.gif", 13 | "./dist/images/next.png", 14 | "./dist/images/prev.png" 15 | ], 16 | "keywords": [ 17 | "lightbox", 18 | "lightbox2", 19 | "overlay", 20 | "gallery", 21 | "slideshow", 22 | "images" 23 | ], 24 | "license": "MIT", 25 | "ignore": [ 26 | "**/.*", 27 | "node_modules", 28 | "bower_components" 29 | ], 30 | "dependencies": { 31 | "jquery": "~2" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/css/lightbox.css: -------------------------------------------------------------------------------- 1 | /* Preload images */ 2 | body:after { 3 | content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png); 4 | display: none; 5 | } 6 | 7 | .lightboxOverlay { 8 | position: absolute; 9 | top: 0; 10 | left: 0; 11 | z-index: 9999; 12 | background-color: black; 13 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); 14 | opacity: 0.8; 15 | display: none; 16 | } 17 | 18 | .lightbox { 19 | position: absolute; 20 | left: 0; 21 | width: 100%; 22 | z-index: 10000; 23 | text-align: center; 24 | line-height: 0; 25 | font-weight: normal; 26 | } 27 | 28 | .lightbox .lb-image { 29 | display: block; 30 | height: auto; 31 | max-width: inherit; 32 | -webkit-border-radius: 3px; 33 | -moz-border-radius: 3px; 34 | -ms-border-radius: 3px; 35 | -o-border-radius: 3px; 36 | border-radius: 3px; 37 | } 38 | 39 | .lightbox a img { 40 | border: none; 41 | } 42 | 43 | .lb-outerContainer { 44 | position: relative; 45 | background-color: white; 46 | *zoom: 1; 47 | width: 250px; 48 | height: 250px; 49 | margin: 0 auto; 50 | -webkit-border-radius: 4px; 51 | -moz-border-radius: 4px; 52 | -ms-border-radius: 4px; 53 | -o-border-radius: 4px; 54 | border-radius: 4px; 55 | } 56 | 57 | .lb-outerContainer:after { 58 | content: ""; 59 | display: table; 60 | clear: both; 61 | } 62 | 63 | .lb-container { 64 | padding: 4px; 65 | } 66 | 67 | .lb-loader { 68 | position: absolute; 69 | top: 43%; 70 | left: 0; 71 | height: 25%; 72 | width: 100%; 73 | text-align: center; 74 | line-height: 0; 75 | } 76 | 77 | .lb-cancel { 78 | display: block; 79 | width: 32px; 80 | height: 32px; 81 | margin: 0 auto; 82 | background: url(../images/loading.gif) no-repeat; 83 | } 84 | 85 | .lb-nav { 86 | position: absolute; 87 | top: 0; 88 | left: 0; 89 | height: 100%; 90 | width: 100%; 91 | z-index: 10; 92 | } 93 | 94 | .lb-container > .nav { 95 | left: 0; 96 | } 97 | 98 | .lb-nav a { 99 | outline: none; 100 | background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='); 101 | } 102 | 103 | .lb-prev, .lb-next { 104 | height: 100%; 105 | cursor: pointer; 106 | display: block; 107 | } 108 | 109 | .lb-nav a.lb-prev { 110 | width: 34%; 111 | left: 0; 112 | float: left; 113 | background: url(../images/prev.png) left 48% no-repeat; 114 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); 115 | opacity: 0; 116 | -webkit-transition: opacity 0.6s; 117 | -moz-transition: opacity 0.6s; 118 | -o-transition: opacity 0.6s; 119 | transition: opacity 0.6s; 120 | } 121 | 122 | .lb-nav a.lb-prev:hover { 123 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); 124 | opacity: 1; 125 | } 126 | 127 | .lb-nav a.lb-next { 128 | width: 64%; 129 | right: 0; 130 | float: right; 131 | background: url(../images/next.png) right 48% no-repeat; 132 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); 133 | opacity: 0; 134 | -webkit-transition: opacity 0.6s; 135 | -moz-transition: opacity 0.6s; 136 | -o-transition: opacity 0.6s; 137 | transition: opacity 0.6s; 138 | } 139 | 140 | .lb-nav a.lb-next:hover { 141 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); 142 | opacity: 1; 143 | } 144 | 145 | .lb-dataContainer { 146 | margin: 0 auto; 147 | padding-top: 5px; 148 | *zoom: 1; 149 | width: 100%; 150 | -moz-border-radius-bottomleft: 4px; 151 | -webkit-border-bottom-left-radius: 4px; 152 | border-bottom-left-radius: 4px; 153 | -moz-border-radius-bottomright: 4px; 154 | -webkit-border-bottom-right-radius: 4px; 155 | border-bottom-right-radius: 4px; 156 | } 157 | 158 | .lb-dataContainer:after { 159 | content: ""; 160 | display: table; 161 | clear: both; 162 | } 163 | 164 | .lb-data { 165 | padding: 0 4px; 166 | color: #ccc; 167 | } 168 | 169 | .lb-data .lb-details { 170 | width: 85%; 171 | float: left; 172 | text-align: left; 173 | line-height: 1.1em; 174 | } 175 | 176 | .lb-data .lb-caption { 177 | font-size: 13px; 178 | font-weight: bold; 179 | line-height: 1em; 180 | } 181 | 182 | .lb-data .lb-number { 183 | display: block; 184 | clear: left; 185 | padding-bottom: 1em; 186 | font-size: 12px; 187 | color: #999999; 188 | } 189 | 190 | .lb-data .lb-close { 191 | display: block; 192 | float: right; 193 | width: 30px; 194 | height: 30px; 195 | background: url(../images/close.png) top right no-repeat; 196 | text-align: right; 197 | outline: none; 198 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); 199 | opacity: 0.7; 200 | -webkit-transition: opacity 0.2s; 201 | -moz-transition: opacity 0.2s; 202 | -o-transition: opacity 0.2s; 203 | transition: opacity 0.2s; 204 | } 205 | 206 | .lb-data .lb-close:hover { 207 | cursor: pointer; 208 | filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); 209 | opacity: 1; 210 | } 211 | -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/lightbox2-master/dist/images/close.png -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/lightbox2-master/dist/images/loading.gif -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/lightbox2-master/dist/images/next.png -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/images/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/s-shemmee/jQuery-in-30-Days/447954d5ff2ac17fd45ffd24570f8f82a841bae2/jQuery-Projects/project-1/lightbox2-master/dist/images/prev.png -------------------------------------------------------------------------------- /jQuery-Projects/project-1/lightbox2-master/dist/js/lightbox-plus-jquery.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery JavaScript Library v2.1.4 3 | * http://jquery.com/ 4 | * 5 | * Includes Sizzle.js 6 | * http://sizzlejs.com/ 7 | * 8 | * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors 9 | * Released under the MIT license 10 | * http://jquery.org/license 11 | * 12 | * Date: 2015-04-28T16:01Z 13 | */ 14 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("