I presented this lecture to the new SharePoint devs joining our team. As I take on the challenge of Surface v2 development, I felt the urge to share my knowledge of branding SharePoint portals with jQuery for the past 1 year.
Jquery Complete Presentation along with Javascript BasicsEPAM Systems
jQuery is a JavaScript library that simplifies HTML document manipulation and event handling. It allows developers to select elements, hide/show elements, and handle events with simple and concise code. jQuery animations and effects like fade, slide, and animate allow for creative transitions between states.
jQuery is a JavaScript library that makes it easier to select elements, handle events, perform animations, and develop Ajax applications. It works by separating behavior from HTML structure through selectors, events, and methods. The $ function is an alias for jQuery and is used to select elements and execute functions on page load or other events. jQuery can be included in a page and used to simplify DOM manipulation, event handling, animation, and AJAX interactions.
Angular js is the future. maybe. @ ConFoo 2014 in Montreal (CA)Alessandro Nadalin
Since bumping into AngularJS a few months ago, we decided to invest more and more time developing with it: coming from a PHP background, the shift of paradigm easy due to the use of patterns and intuitive flows: even though this won’t be a very in-depth technical talk, we are going to see why you should consider working with angular: fast single-page apps, DI, ease of testing, being asynchronous, scaling on the clients.
Welcome to the future.
Creating GUI Component APIs in Angular and Web ComponentsRachael L Moore
So you’ve embraced architecting your Angular application with reusable components – cheers to you! But you have UI components that need to communicate with each other or expose public methods, and you’re wondering about your options. In this talk, we’ll cover how new web component standards, like Custom Elements, handle this. Next, we’ll walk through how to accomplish it today in Angular 1.x – and bring it all together into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to design and implement the public HTML and JavaScript interfaces of GUI components.
Talk presented at Angular Connect in October 2015.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
The document discusses how WebWork and AJAX are a winning combination for building dynamic web applications, highlighting several AJAX techniques that are built into WebWork like tabbed panes, validation, and polling. It provides examples of how to use various WebWork and Dojo tags to implement AJAX features and discusses some best practices and pitfalls to watch out for when using AJAX.
This document discusses jQuery UI and plugins. It provides an overview of jQuery UI classes that can be used to style elements. It also demonstrates several common jQuery UI widgets like buttons, accordions, dialogs, and tabs. The document discusses jQuery UI effects for animations and transitions. It provides tips for identifying good plugins based on aspects like their API, documentation, support, and community. Overall, the document is an introduction to using jQuery UI and evaluating jQuery plugins.
jQuery is a JavaScript library that simplifies HTML document traversal, event handling, animating, and Ajax interactions. It is lightweight, cross-browser compatible, and used on over 41% of popular websites. This document provides an introduction and overview of jQuery selectors, DOM manipulation, events, effects, and Ajax capabilities in 3 sentences or less per topic.
Jquery Complete Presentation along with Javascript BasicsEPAM Systems
jQuery is a JavaScript library that simplifies HTML document manipulation and event handling. It allows developers to select elements, hide/show elements, and handle events with simple and concise code. jQuery animations and effects like fade, slide, and animate allow for creative transitions between states.
jQuery is a JavaScript library that makes it easier to select elements, handle events, perform animations, and develop Ajax applications. It works by separating behavior from HTML structure through selectors, events, and methods. The $ function is an alias for jQuery and is used to select elements and execute functions on page load or other events. jQuery can be included in a page and used to simplify DOM manipulation, event handling, animation, and AJAX interactions.
Angular js is the future. maybe. @ ConFoo 2014 in Montreal (CA)Alessandro Nadalin
Since bumping into AngularJS a few months ago, we decided to invest more and more time developing with it: coming from a PHP background, the shift of paradigm easy due to the use of patterns and intuitive flows: even though this won’t be a very in-depth technical talk, we are going to see why you should consider working with angular: fast single-page apps, DI, ease of testing, being asynchronous, scaling on the clients.
Welcome to the future.
Creating GUI Component APIs in Angular and Web ComponentsRachael L Moore
So you’ve embraced architecting your Angular application with reusable components – cheers to you! But you have UI components that need to communicate with each other or expose public methods, and you’re wondering about your options. In this talk, we’ll cover how new web component standards, like Custom Elements, handle this. Next, we’ll walk through how to accomplish it today in Angular 1.x – and bring it all together into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to design and implement the public HTML and JavaScript interfaces of GUI components.
Talk presented at Angular Connect in October 2015.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
The document discusses how WebWork and AJAX are a winning combination for building dynamic web applications, highlighting several AJAX techniques that are built into WebWork like tabbed panes, validation, and polling. It provides examples of how to use various WebWork and Dojo tags to implement AJAX features and discusses some best practices and pitfalls to watch out for when using AJAX.
This document discusses jQuery UI and plugins. It provides an overview of jQuery UI classes that can be used to style elements. It also demonstrates several common jQuery UI widgets like buttons, accordions, dialogs, and tabs. The document discusses jQuery UI effects for animations and transitions. It provides tips for identifying good plugins based on aspects like their API, documentation, support, and community. Overall, the document is an introduction to using jQuery UI and evaluating jQuery plugins.
jQuery is a JavaScript library that simplifies HTML document traversal, event handling, animating, and Ajax interactions. It is lightweight, cross-browser compatible, and used on over 41% of popular websites. This document provides an introduction and overview of jQuery selectors, DOM manipulation, events, effects, and Ajax capabilities in 3 sentences or less per topic.
This document discusses jQuery, a JavaScript library. It defines jQuery as a lightweight library that allows developers to "write less, do more". It describes how jQuery works by selecting elements and running functions on them. It also covers various jQuery methods for DOM manipulation like fading, sliding, and handling events. Key points covered include selecting elements, jQuery syntax, downloading jQuery, and how to get started with basic functionality.
This document provides an overview of how to configure and use Capybara for testing web applications. It discusses using Capybara with Cucumber, RSpec, and Test::Unit. It also describes Capybara's DSL for navigating pages, interacting with elements, making assertions, and more. Various drivers like Selenium and RackTest are demonstrated along with debugging techniques.
jQuery is a JavaScript library which allows you to develop solutions with less code, in less time. You can build interactive prototypes for your prospective clients, or take an existing solution and add new dynamic behaviour with little effort.
We will see how jQuery can be used to quickly and concisely apply JavaScript behaviour to your web app. It will cover selectors, Ajax, DOM manipulation and more. The aim: to produce lean unobtrusive JavaScript with jQuery.
This document discusses upgrading from jQuery version 1.12.4 to 3.6.0. It outlines the goal of updating jQuery and related plugins. Key changes and improvements in the new version are described, including performance enhancements, bug fixes, and new features. Breaking changes are also outlined, such as changes to AJAX calls, data handling, and removed functions. The document provides guidance on using tools like jQuery Migrate to help with the update and test for breaking changes.
Tips and tricks for building api heavy ruby on rails applicationsTim Cull
The document provides tips for building API-heavy Ruby on Rails applications. It discusses using APIs from Instagram, CafePress, Spreadsheets, Google Docs, and others. It covers authentication challenges, using background jobs, effective testing strategies like mocking HTTP requests, and different approaches to OAuth authentication used by APIs like Instagram, Freshbooks, Xero, and Evernote. Code examples are provided for common API patterns like making requests, parsing responses, and implementing OAuth flows.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
This document provides an introduction to jQuery for beginners. It discusses jQuery's history and benefits, how to download and include jQuery, basic selectors and filters, traversing elements, basic events and animations, jQuery UI libraries, AJAX functionality, and compares jQuery to other JavaScript frameworks. The presentation aims to explain jQuery concepts at a high level without being a tutorial or reference guide. It includes code examples throughout to demonstrate jQuery syntax and methods.
This document provides an overview of jQuery, a JavaScript library for DOM manipulation. It discusses jQuery's CSS selector syntax, methods for manipulating DOM elements and collections, event handling, AJAX support through methods like load() and get(), and how jQuery is extensible through plugins. The document also provides examples of DOM traversal, value retrieval, event binding, and chaining methods.
jQuery is a popular JavaScript library that makes HTML document traversal and manipulation, event handling, animation, and Ajax interactions more simple. It works across browsers and allows developers to write less code using its easy-to-use API. The document discusses how jQuery works, including how to launch code on document ready, add and remove HTML classes, and use callbacks and functions when passing arguments to other functions.
This document provides an introduction to jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document interaction and event handling. It was created by John Resig in 2006.
- The current version is 1.3.2 and version 1.4 is coming soon. John Resig continues to develop jQuery in Boston.
- jQuery selects elements, changes their properties, handles events, and makes AJAX calls to simplify common JavaScript tasks. It works by selecting DOM elements and running functions on the selection.
The document discusses jQuery and its uses and methods. It introduces jQuery as a way to write JavaScript code that works across browsers. It provides examples of how jQuery can be used to select and manipulate HTML elements using simpler syntax compared to vanilla JavaScript. Key jQuery methods are also summarized, including how to select elements, modify attributes, handle events, add/move elements, and perform animations and AJAX requests.
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...Sencha
This document discusses how to build applications that combine Ext JS components with Angular 2. It provides an overview of the new Angular 2 bridge for Ext JS, which allows Ext JS grids, trees, charts and other components to be used in Angular 2 apps. It demonstrates how to create Angular 2 components that utilize Ext JS components like grids, select fields and charts. It also shows how to create non-visual Ext JS classes like stores that can be used by the Angular 2 application. The document concludes with a demo of a sample Angular 2 application integrated with Ext JS.
- jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, events, animations and Ajax interactions for rapid web development.
- It was released in 2006 and abstracts away browser quirks to write less code using a simpler syntax.
- jQuery selects elements, handles events, performs animations and loads data asynchronously via Ajax calls to build dynamic web page content.
Solving Real World Problems with YUI 3: AutoCompleteIsaacSchlueter
The document describes how to build an autocomplete widget using the YUI library. It discusses the key components needed: handling key events to detect when the user enters text, querying a data source to retrieve results, displaying the results, and wiring everything together loosely coupled pieces. These include a custom "valueChange" event, an AutoComplete node plugin to listen for this event and query the data source, a data source component, and a renderer widget to display the results. The document emphasizes that by building with loosely coupled and reusable components in YUI, the autocomplete can be implemented with only a small amount of new code.
The document is a presentation about D3 and SVG technologies. It includes sections on networking opportunities, an interactive presentation format, polls about experience levels with D3 and SVG, examples of force-directed graphs and animated SVGs using D3, and details on implementing drag and drop as well as mouseover highlighting in a D3 visualization. The presentation source code is provided on GitHub and other examples are referenced, including alternatives to SVG. It concludes with another poll and a question and answer period.
The document discusses JavaScript events and event handling with jQuery. It begins with an overview of what events are, when and where they occur, and how to handle them using event handlers and binding events to DOM elements. It then covers the event object, event propagation or bubbling, one-time events, disconnecting events, and event delegation. The document provides tips for writing generic event handling code and refactoring code with many $(document).ready functions.
avaScript, REST, CSOM, Office 365 APIs: Like it or not, client-side development is the future of SharePoint development. At the forefront of this wave is the powerful JavaScript library jQuery. Utilizing jQuery in SharePoint, developers can take their applications to the next level in less time. What's more, you can utilize jQuery in SharePoint 2007, 2010, 2013, and in Office 365 often without making changes to your code. In this class, you gain a new appreciate for jQuery and learn:
"What's possible," including visual enhancements and practical business intelligence
Tips and Tricks for deploying and maintaining scripts
How to get quick wins with little effort using third-party jQuery libraries
How to interact with SharePoint forms and lists using JavaScript and jQuery
SharePoint 2016 for the Business: Top 10 New FeaturesJoel Oleson
So much of the early release is targeted for the IT Professional. This session is about the business. Top SharePoint 2016 Features for the Business User.
This Presentation is part of an Exclusive Webinar series organized by SPANG Technologies and Delivered by SharePoint Professional Trainer Mr. Himanshu Churiwala. The Topic consists of 2 parts, the next session is scheduled on coming Sunday. Do join our free Webinar series.
This document discusses jQuery, a JavaScript library. It defines jQuery as a lightweight library that allows developers to "write less, do more". It describes how jQuery works by selecting elements and running functions on them. It also covers various jQuery methods for DOM manipulation like fading, sliding, and handling events. Key points covered include selecting elements, jQuery syntax, downloading jQuery, and how to get started with basic functionality.
This document provides an overview of how to configure and use Capybara for testing web applications. It discusses using Capybara with Cucumber, RSpec, and Test::Unit. It also describes Capybara's DSL for navigating pages, interacting with elements, making assertions, and more. Various drivers like Selenium and RackTest are demonstrated along with debugging techniques.
jQuery is a JavaScript library which allows you to develop solutions with less code, in less time. You can build interactive prototypes for your prospective clients, or take an existing solution and add new dynamic behaviour with little effort.
We will see how jQuery can be used to quickly and concisely apply JavaScript behaviour to your web app. It will cover selectors, Ajax, DOM manipulation and more. The aim: to produce lean unobtrusive JavaScript with jQuery.
This document discusses upgrading from jQuery version 1.12.4 to 3.6.0. It outlines the goal of updating jQuery and related plugins. Key changes and improvements in the new version are described, including performance enhancements, bug fixes, and new features. Breaking changes are also outlined, such as changes to AJAX calls, data handling, and removed functions. The document provides guidance on using tools like jQuery Migrate to help with the update and test for breaking changes.
Tips and tricks for building api heavy ruby on rails applicationsTim Cull
The document provides tips for building API-heavy Ruby on Rails applications. It discusses using APIs from Instagram, CafePress, Spreadsheets, Google Docs, and others. It covers authentication challenges, using background jobs, effective testing strategies like mocking HTTP requests, and different approaches to OAuth authentication used by APIs like Instagram, Freshbooks, Xero, and Evernote. Code examples are provided for common API patterns like making requests, parsing responses, and implementing OAuth flows.
This document provides summaries of key points about the jQuery and Prototype JavaScript libraries:
1. jQuery is an open-source JavaScript library that simplifies HTML document traversal, event handling, animation, and Ajax interactions. It has a lightweight footprint and is cross-browser compatible.
2. Both jQuery and Prototype are available under MIT and GPL licenses, allowing developers to choose the license that best suits their projects. jQuery is maintained by a core team and has additional community support.
3. The document then provides examples of common jQuery functions and selectors for manipulating the DOM, handling events, animating elements, and making Ajax requests.
This document provides an introduction to jQuery for beginners. It discusses jQuery's history and benefits, how to download and include jQuery, basic selectors and filters, traversing elements, basic events and animations, jQuery UI libraries, AJAX functionality, and compares jQuery to other JavaScript frameworks. The presentation aims to explain jQuery concepts at a high level without being a tutorial or reference guide. It includes code examples throughout to demonstrate jQuery syntax and methods.
This document provides an overview of jQuery, a JavaScript library for DOM manipulation. It discusses jQuery's CSS selector syntax, methods for manipulating DOM elements and collections, event handling, AJAX support through methods like load() and get(), and how jQuery is extensible through plugins. The document also provides examples of DOM traversal, value retrieval, event binding, and chaining methods.
jQuery is a popular JavaScript library that makes HTML document traversal and manipulation, event handling, animation, and Ajax interactions more simple. It works across browsers and allows developers to write less code using its easy-to-use API. The document discusses how jQuery works, including how to launch code on document ready, add and remove HTML classes, and use callbacks and functions when passing arguments to other functions.
This document provides an introduction to jQuery, including:
- jQuery is a JavaScript library that simplifies HTML document interaction and event handling. It was created by John Resig in 2006.
- The current version is 1.3.2 and version 1.4 is coming soon. John Resig continues to develop jQuery in Boston.
- jQuery selects elements, changes their properties, handles events, and makes AJAX calls to simplify common JavaScript tasks. It works by selecting DOM elements and running functions on the selection.
The document discusses jQuery and its uses and methods. It introduces jQuery as a way to write JavaScript code that works across browsers. It provides examples of how jQuery can be used to select and manipulate HTML elements using simpler syntax compared to vanilla JavaScript. Key jQuery methods are also summarized, including how to select elements, modify attributes, handle events, add/move elements, and perform animations and AJAX requests.
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...Sencha
This document discusses how to build applications that combine Ext JS components with Angular 2. It provides an overview of the new Angular 2 bridge for Ext JS, which allows Ext JS grids, trees, charts and other components to be used in Angular 2 apps. It demonstrates how to create Angular 2 components that utilize Ext JS components like grids, select fields and charts. It also shows how to create non-visual Ext JS classes like stores that can be used by the Angular 2 application. The document concludes with a demo of a sample Angular 2 application integrated with Ext JS.
- jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, events, animations and Ajax interactions for rapid web development.
- It was released in 2006 and abstracts away browser quirks to write less code using a simpler syntax.
- jQuery selects elements, handles events, performs animations and loads data asynchronously via Ajax calls to build dynamic web page content.
Solving Real World Problems with YUI 3: AutoCompleteIsaacSchlueter
The document describes how to build an autocomplete widget using the YUI library. It discusses the key components needed: handling key events to detect when the user enters text, querying a data source to retrieve results, displaying the results, and wiring everything together loosely coupled pieces. These include a custom "valueChange" event, an AutoComplete node plugin to listen for this event and query the data source, a data source component, and a renderer widget to display the results. The document emphasizes that by building with loosely coupled and reusable components in YUI, the autocomplete can be implemented with only a small amount of new code.
The document is a presentation about D3 and SVG technologies. It includes sections on networking opportunities, an interactive presentation format, polls about experience levels with D3 and SVG, examples of force-directed graphs and animated SVGs using D3, and details on implementing drag and drop as well as mouseover highlighting in a D3 visualization. The presentation source code is provided on GitHub and other examples are referenced, including alternatives to SVG. It concludes with another poll and a question and answer period.
The document discusses JavaScript events and event handling with jQuery. It begins with an overview of what events are, when and where they occur, and how to handle them using event handlers and binding events to DOM elements. It then covers the event object, event propagation or bubbling, one-time events, disconnecting events, and event delegation. The document provides tips for writing generic event handling code and refactoring code with many $(document).ready functions.
avaScript, REST, CSOM, Office 365 APIs: Like it or not, client-side development is the future of SharePoint development. At the forefront of this wave is the powerful JavaScript library jQuery. Utilizing jQuery in SharePoint, developers can take their applications to the next level in less time. What's more, you can utilize jQuery in SharePoint 2007, 2010, 2013, and in Office 365 often without making changes to your code. In this class, you gain a new appreciate for jQuery and learn:
"What's possible," including visual enhancements and practical business intelligence
Tips and Tricks for deploying and maintaining scripts
How to get quick wins with little effort using third-party jQuery libraries
How to interact with SharePoint forms and lists using JavaScript and jQuery
SharePoint 2016 for the Business: Top 10 New FeaturesJoel Oleson
So much of the early release is targeted for the IT Professional. This session is about the business. Top SharePoint 2016 Features for the Business User.
This Presentation is part of an Exclusive Webinar series organized by SPANG Technologies and Delivered by SharePoint Professional Trainer Mr. Himanshu Churiwala. The Topic consists of 2 parts, the next session is scheduled on coming Sunday. Do join our free Webinar series.
Intro to the SharePoint Framework Philly Code Camp Oct 2016Jennifer Kenderdine
Jennifer Kenderdine gave a presentation on the SharePoint Framework (SPFx) which allows building client-side web parts for SharePoint using modern web technologies. SPFx uses the same context and connection as the browser, allows controls to render in the DOM, and is framework agnostic. It supports both classic and modern pages in SharePoint. Developers need an Office 365 developer tenant and tools like Node.js, Yeoman and Gulp to build SPFx solutions. The development workflow involves creating a project, editing the web part with TypeScript, testing locally and deploying to a CDN.
Mindmajix is the industry leader in providing Microsoft SharePoint Training in USA and across the globe. Our SharePoint online training emphasize on hands
Mark Overdijk, Office 365 Consultant @ Rapid Circle, presenting the key announcements and takeaways from the Future of SharePoint event on May the 4th 2016.
Want to know more?
Contact us at Mark@RapidCircle.com
http://www.RapidCircle.com
SharePoint Disaster Recovery with SQL AlwaysOnZeddy Iskandar
A talk I gave for SharePoint Saturday about doing warm disaster recovery using SQL AlwaysOn and how to use the secondary replica as read-only browse-able SharePoint site.
This document introduces new features for collaborating and managing team communications using SharePoint 2013. Key highlights include organizing all team communications in a single place, managing permissions to control access, writing apps that can run on multiple platforms, running SharePoint in the cloud for faster updates and improved performance, and controlling how sites are provisioned for more automated processes. It also provides links to download an evaluation version, learn more about SharePoint, and attend an upcoming SharePoint conference.
SharePoint Saturday Chicago Suburbs 2016 - Modern Intranet Development Best P...Nik Patel
This document provides contact information for Nik Patel, including his email, blog, Twitter, LinkedIn, and Slideshare profiles. It also lists his role as a Solution Principal at Slalom Consulting focusing on Office 365 and SharePoint platforms.
The A to Z of Building a Responsive SharePoint Site with BootstrapThomas Daly
This document provides an overview of using Bootstrap to build a responsive SharePoint site. It discusses what Bootstrap and responsive design are, why Bootstrap is useful, how to implement Bootstrap grids and media queries in SharePoint, Bootstrap UI components, challenges of using Bootstrap in SharePoint, and examples of responsive SharePoint sites built with Bootstrap.
Why Upgrade to SharePoint 2016: Including Future of SharePoint Feature UpdatesJoel Oleson
Why upgrade to SharePoint 2016? Seems like it doesn't have that much in it... right? True, but that's not the whole story. In this session we help build the business case for why you should consider upgrading to SharePoint 2016 including preparing for the feature updates and building your platform for the future.
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
Covers the changes Microsoft are making to team sites in Office 365/on-premises SharePoint - in terms of end-user changes, and also the impact on developers. The second half of the deck covers the SharePoint Framework (the new coding framework for developers).
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
Describes the new SharePoint development framework, which uses Gulp, node.js, TypeScript, SASS and other modern web technologies. Covers client web parts, modern pages and the canvas, and how to surface your files on a CDN for optimum performance. This intro presentation helps you get started.
The long awaited SharePoint 2016 is finally coming! As Microsoft is expected to release in the Spring of 2016, Benjamin Niaulin, Office Servers & Services MVP at Sharegate, gives us the grand tour of the new SharePoint features!
Building high-fidelity interactive prototypes with jQueryDavid Park
The document discusses how to build high-fidelity interactive prototypes using jQuery. It begins with an overview of why high-fidelity prototypes are important for user testing and as design specifications. It then demonstrates various jQuery techniques for building prototypes, including overriding links, manipulating the DOM, creating overlays and click states, using accordions and drag-and-drop, and toggling elements. Code examples and explanations are provided for each technique.
This document provides a summary of jQuery fundamentals, including:
- jQuery simplifies client-side scripting of HTML and selecting DOM elements
- Popular uses include navigation, animation, event handling, and AJAX
- jQuery is easy to learn and use, supports method chaining, and has a large developer community
- Key concepts include selecting elements, DOM manipulation, events, AJAX requests, and using jQuery UI widgets
Mechanize at the Ruby Drink-up of Sophia, November 2011rivierarb
Simple web-scraping with Mechanize and Nokogiri. Presented at the Ruby Drink-up of Sophia Antipolis on the 8th of November 2011 by Muriel Salvan (@MurielSalvan).
The document discusses developing and testing JavaScript components. It recommends:
1. Generating clean HTML and JavaScript code separately to maximize flexibility and performance. HTML serves as the contract between server and client-side code.
2. Testing JavaScript code with frameworks like QUnit or YUI Test. Tests should make asynchronous requests synchronous and wait for responses.
3. Integrating unit tests into a test suite that runs across browsers to catch errors and failures. Integration tests should confirm the server generates the expected HTML.
This document provides an overview of AJAX, JSON, jQuery, and livequery. It discusses how these technologies enable asynchronous communication with servers and manipulation of web pages. It also provides examples of using jQuery to select elements, modify attributes and styles, handle events, and perform animations. The document concludes with assignments for demonstrating skills with jQuery selectors, effects, and calendar functionality.
The document discusses HTML5 features such as new structural elements, form types, media elements, and JavaScript APIs for canvas, local storage, web databases, web workers, websockets, geolocation, and offline web applications. It also covers tools and techniques for building mobile web apps, including jQtouch for iPhone styling, feature detection over browser detection, and PhoneGap for compiling HTML5 apps to native mobile apps. While HTML5 provides many capabilities for mobile, native apps still have advantages in accessing device hardware and approval processes.
This document provides an overview of jQuery, a JavaScript library that simplifies HTML document traversing, event handling, animating, and Ajax interactions. It discusses jQuery's history, features such as DOM manipulation and effects/animations, examples of applications like forms and menus, and how to implement jQuery through functions and selectors. Technical details are also covered, such as the jQuery object and chaining functions. The document concludes by listing sites that demonstrate jQuery and resources for learning more.
This document provides an introduction to jQuery, including:
1. What jQuery is and what it allows you to do like manipulate documents and add effects across browsers
2. The first step is to include the jQuery library files
3. jQuery uses CSS selector syntax to select elements from the DOM by tag, ID, class, and pseudo-classes
4. Once elements are selected, jQuery methods allow you to modify elements by changing styles, classes, and attributes or adding new elements
5. jQuery events allow code to run when user or browser actions occur like clicks or resize events
The document provides an overview of JavaScript and the Document Object Model (DOM). It introduces JavaScript as a scripting language used to add interactivity and dynamic behavior to web pages. It describes how JavaScript can be implemented in HTML using <script> tags in the head or body, or externally in .js files. The document then covers JavaScript syntax including data types, operators, conditional statements, loops, functions. It also discusses the DOM and how JavaScript can manipulate HTML elements and attributes.
The document discusses different approaches to handling JavaScript and AJAX functionality in Rails applications. It begins by showing how to use Rails' remote_form_for helper to generate JavaScript and AJAX code inline. It then demonstrates how to handle AJAX requests by binding JavaScript directly. The document also explores using JSON to return data from the server and the RJS format for generating JavaScript responses. Overall it provides examples of incrementally moving away from Rails' default JavaScript handling towards binding JavaScript directly.
This document contains information presented by Eric Steinborn about jQuery and jQuery plugins. It begins with Eric's contact information and background working with web technologies. It then provides introductions to jQuery, explaining what it is, why it's useful, how to load it, and basic usage. Several jQuery plugins are discussed, including ColorBox for images, tablesorter for sorting tables, and ListNav for navigating lists. Code examples are provided for using each plugin and customizing options. References for further learning about jQuery and plugins are also listed.
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Sergey Ilinsky
The document discusses the Ample SDK, a JavaScript GUI framework that aims to provide a consistent platform for building complex web applications. It virtualizes browser technologies to implement a standard programming model using XML for layout, CSS for styling, and JavaScript for logic. This allows developers to build reusable UI components. The framework also enables creation of domain-specific markup languages and extension of core technologies like SVG and XUL across browsers.
1. The document discusses building web interfaces using Ruby on Rails. It covers useful Rails view helper techniques, plugins for adding helper and unobtrusive JavaScript functionality, and implementing common UI design patterns.
2. The handicraft_helper plugin allows building complex HTML structures more easily using a composite pattern. The handicraft_ujs plugin replaces Rails' default Ajax functionality with an unobtrusive JavaScript approach using jQuery.
3. The presentation demonstrates helper techniques, the two plugins, and implementing UI patterns like inline editing and sortable lists.
Mobile applications Development - Lecture 12
Javascript
jQuery (Zepto)
useful microframeworks
This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Prototype JS is a JavaScript framework that simplifies DOM manipulation, AJAX requests, and other common tasks. It provides functions for DOM traversal and manipulation, event handling, effects and animations, forms, JSON, and more. Developers use Prototype to build dynamic web pages and applications with less code and cross-browser compatibility.
The document provides an overview of the jQuery JavaScript library. It discusses that jQuery is a lightweight JavaScript library that simplifies HTML and JavaScript interactions and DOM manipulation. It supports cross-browser compatibility and has a large community of plugins, tutorials, and other resources. The document then provides examples of basic DOM manipulation and event handling using jQuery.
The document provides an overview of the Struts 2 framework, including its architecture, features, and configuration. Some key points:
- Struts 2 is an MVC framework that uses interceptors, actions, and results. It improves on Struts 1 with a cleaner architecture, annotations/XML configuration, and integration with other frameworks like Spring.
- Features include interceptors for pre/post processing, the value stack for request data, OGNL for data access, tag libraries, validation, internationalization support, and AJAX capabilities via Dojo integration.
- Configuration can be done via XML or annotations. Actions map requests to classes/methods, and results define views. Common features like validation are easily
The document discusses the speaker's past experiences live streaming events for media companies using on-premises solutions and the challenges they faced. It then introduces Azure Media Services as a cloud-based platform that offers dynamic packaging for multiple devices and formats, hardware-accelerated encoding that scales easily, and global content delivery through Azure's CDN - addressing many of the pain points of the previous on-premises approaches. The speaker provides a high-level overview of how to use Azure Media Services to upload, encode, package and publish video content for streaming to multiple platforms.
This document provides an overview of Microsoft Surface 2.0, including:
- The hardware of Surface 2.0 uses PixelSense technology, with a full HD LED-TV screen that is thin and has no hidden projector or computer underneath.
- The software for Surface 2.0 includes an SDK to enable development of multi-touch applications, with tools like an input simulator and visualizer.
- Demos of the ScatterView and TagVisualizer applications are shown to illustrate the capabilities of the Surface 2.0 software.
WPH203 Showcasing we.Muslim App for Windows Phone 7Zeddy Iskandar
This is the session WPH203 Showcasing we.Muslim App for Windows Phone 7 that I presented during Microsoft TechEd Middle-East conference on 10th March 2011.
IAT202 Tips and Tricks on Windows Phone 7 DevelopmentZeddy Iskandar
This is the session IAT202 Tips and Tricks on Windows Phone 7 Development that I presented during Microsoft TechEd Middle-East conference on 10th March 2011.
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...Zeddy Iskandar
This is the session WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applications that I presented during Microsoft TechEd Middle-East conference on 9th March 2011.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
3. What is jQuery? #lga{ height: 231px; } <img height="95" width="275" src="/logo2w.png" alt="Google"> What we see We generate HTML from server-side API
4. What is jQuery? What we want tosee We want a Client-Side API to manipulate generated content
5. What is jQuery? DOM Document Object Model What we want tosee We want a cross-browser framework to access DOM
6. What is jQuery? Paste code below to FireBug console, after jQuery-fying Google.com homepage jQuery("#lga").hover( function() { jQuery("#lgaimg").attr("src", "http://www.gravatar.com/avatar/6872bc097bdddbfec28a56f76d0569a7"); jQuery("#lgaimg").attr("width", "150"); jQuery("<div>Happy Birthday Zeddy</div>").insertAfter("#lgaimg"); }, function() { jQuery("#lgaimg").attr("src", "/intl/en_com/images/srpr/logo2w.png"); jQuery("#lgaimg").removeAttr("width"); jQuery("#lga div").remove(); });
7. What is jQuery? DOM Document Object Model What we want tosee cross-browser framework to access DOM ==
8. jQuery Setup The framework: http://jquery.com The jQuery-friendly browser: http://mozilla.com The DOM-inspector browser plugin: http://getfirebug.com Additional FireBug plugins: http://firequery.binaryage.com http://robertnyman.com/firefinder
9. jQuery for SharePoint Dev Use NotePad++ to open: .CSS & .JS in TEMPLATEAYOUTS .ASCX in TEMPLATEONTROLTEMPLATES Use FireBugconsole to test jQuery scripts Use FireBuginspector to edit CSS Copy the tested jQuery & CSS to NotePad++ Test in IE7+ and fix browser-compatibility issues
10. How to use jQuery Find the element the one(s) you think will help you achieve that magic look & feel Do stuff to it add hover effect, move position, replace the HTML tag with completely different tag(s), delete, animate, etc.
13. Most-used Selectors (“#ZCarousel”) selects element with id=ZCarousel (“.item”) selects element(s) with class=item (“#ZCarousel li div.item”) CSS-style selectors: select all <div> with class=item under <li> tag which is under ZCarousel element
14. Most-used Selectors (“#ZCarouselli:first”) selects the 1st <li> tag found under ZCarousel (“#ZCarouselli:last”) selects the last <li> tag found unerZCarousel (“#ZCarouselli:even”) (“#ZCarouselli:odd”) get all the even or odd <li> elements, useful for alternating effect
15. Most-used Selectors (“element [attribute=something]”) the example below grabs the 1st <tbody> emitted by the tag <asp:Calendar> the example below changes the Prev Month arrow emitted by the tag <asp:Calendar> vartbody= jQuery("#calendarArea table[title=Calendar] tbody:first"); // Change month arrows variconPrev = "<imgsrc='/_layouts/darkBlueArrow-Left.png' />"; varprevLink = jQuery("#calendarArea a[title='Go to the previous month']"); prevLink.html(iconPrev);
16. Most-used Selectors (“input[id$=‘txtCurrency1']”) element <input> with attribute id ends with ‘txtCurrency1’, eg. this ASP.NET tag: will generate this HTML: this jQuery will get that element’s value: <asp:TextBox ID="txtCurrency1" runat="server" /> <input type="text" value=“United Arab Emirates (AED)" id="ctl00_m_g_50b54854_4b09_4b72_a69d_6ded7f051845_ctl00_txtCurrency1" /> var curr1Pref = jQuery("input[id$=‘txtCurrency1']").val();
18. Most-used Methods .css(“style”, “value”) or use the map argument: .addClass(“redTheme”) .removeClass(“redTheme”) adds / removes class from element jQuery(this).css({ position: “absolute", top: “10px" left: “100px" });
19. Most-used Methods .hasClass(“certainClass”) check if element is using certainClass .is(“:visible”) if (!jQuery(this).hasClass("ui-accordion-content-active")) { spacer.insertAfter(jQuery(this)); } varleftPanel = jQuery("#s4-leftpanel"); if (leftPanel.length > 0 && leftPanel.is(":visible'"))
20. Most-used Methods Used to add horizontal scrollbar in Allitems.aspx page // If #s4-leftpanel is visible, make the table layout scrollable // so it doesn't fall to the bottom in IE8+, FF, Chrome varleftPanel = jQuery("#s4-leftpanel"); if (leftPanel.length > 0 && leftPanel.is(":visible'")) { // allow horizontal scrollbar on right column varrightCol = jQuery("#parentPlaceHolderMain"); rightCol.css("overflow-x", "auto"); if (jQuery.browser.msie && jQuery.browser.version < 8.0) { // only happens in IE 7 var height = rightCol.height(); rightCol.css("height", height + 30 + "px"); } }
21. Most-used Methods .text() gets/sets combined string of element .val() gets/sets values of form elements .hide() / .show() / .toggle() hide/show element. Use .toggle for toggling between hiding/showing var date = jQuery("input[id$='hiddenEventStartDate']").val();
22. Most-used Methods .attr() gets/sets attribute of element guess what the above does? jQuery("[id$='txtFirstName']").focus(function () { if (jQuery(this).val() == jQuery (this).attr("title")) jQuery (this).val(""); }) .blur(function () { if (jQuery(this).val() == "") jQuery(this).val(jQuery(this).attr("title")); }); Default value of field FirstNameis set in custom attribute Title (set via server-side, reading from resource). If you click on the field, the value is cleared, allowing you to type a value. When you move outside the field and no value is entered, a default value is set once again (Used for “Enter First Name here” helper)
23. Most-used Methods .clone() followed by .insertAfter() / .append() clone an element, then appends or insert it after another element guess what the above does? does .clone() persist element event-binding? var copy = tr.clone(); // Modifications copy.find("td.colNoOfShares > input").val(""); copy.find("td.colPricePerShare > input").val(""); copy.find("td.colAddRemoveButtons > a[title=delThis]").show(); tbody.append(copy);
24. Most-used Methods var copy = tr.clone(); // Modifications copy.find("td.colNoOfShares > input").val(""); copy.find("td.colPricePerShare > input").val(""); copy.find("td.colAddRemoveButtons > a[title=delThis]").show(); tbody.append(copy); Above code used to clone a row when “Add Stock” button is clicked
25. Most-used Methods .clone() only copies the HTML tag, does not copy events attached to the elements. See example for our Advanced Search below; after we clone the advanced search criteria row, we re-attach the event handlers to the cloned element var copy = jQuery(tr).clone(); // Modifications jQuery(copy).children("td.colWhereTheProperty").text(""); jQuery(copy).find("td.colAddRemoveButtons > a:eq(1)").show(); // show del button var selectors = jQuery(copy).find("div.selectorWrapper"); jQuery(selectors).each(function () { addClickHandler(this); … });
27. Most-used Events .hover() sets up on hover and on leave in one go jQuery("#ZCarousel").hover( function () { jQuery(“.divArrows”).show(); window.clearInterval(autoscroller_timer); }, function () { jQuery(“.divArrows”).hide(); setupAutoScrollerTimer(); });
28. Most-used Events .click() sets up on hover and on leave in one go guess what the above does? jQuery(“a#changeMonth”).click(function () { jQuery(monthFacadeText).text($(this).text()); jQuery("input[id$='hiddenTxtMonth']").val($(this).text()); jQuery (monthOptions).hide(); jQuery ("input[id$='btnChangeMonthYear']").trigger("click") });
29. Most-used Events jQuery(“a#changeMonth”).click(function () { jQuery(monthFacadeText).text($(this).text()); jQuery("input[id$='hiddenTxtMonth']").val($(this).text()); jQuery (monthOptions).hide(); jQuery ("input[id$='btnChangeMonthYear']").trigger("click") }); When “custom dropdown” Change Month is clicked: Set the month façade div to the selected month Set ASP.NET viewstate variable to the selected month Hide month scrollable div Trigger ASP.NET postback button with ID btnChangeMonthYear
31. How to Build a Carousel .animate() allows to animate an element style property (top, left, opacity, etc.)
32. How to Build a Carousel (1) Step 1: Output a series of <li> items to be carouseled: <divid="ZSlideShow"> <divid="container"> <ulid="carousel"> <asp:RepeaterID="carouselRepeater"runat="server"> <ItemTemplate> <li> <divclass="item"> <a href='<%# Eval("ReadMoreLink") %>'><imgsrc='<%# Eval("ImageUrl") %>' alt='<%# Eval("Title") %>'/></a> <a href='<%# Eval("ReadMoreLink") %>'><h3><%# Eval("Title") %></h3></a> <div class="description"> <%# Eval("Description")%> </div> <div class="readmore"> <a href='<%# Eval("ReadMoreLink") %>' class=“xButton"><%= ResourceReader.GetGlobal(“XWebParts", “XWebPart_ReadMore_Text")%></a> </div> </li> </ItemTemplate> </asp:Repeater> </ul> </div> <divid="prevButton"><ahref="javascript:carousel_prev();"><imgsrc="/_layouts/Images/WebParts.Ets/left_arrow.png"alt="Prev"/></a></div> <divid="nextButton"><ahref="javascript:carousel_next();"><imgsrc="/_layouts/Images/WebParts.Ets/right_arrow.png"alt="Prev"/></a></div> <asp:HiddenFieldID="hiddenIntervalTimeInSeconds"runat="server"/></div>
33. How to Build a Carousel (2) Step 2: Float items to the left & set viewport #ZSlideShowul#carousel { margin: 0; padding: 0; height: 226px; overflow: visible; position: relative; top: 0; } #ZSlideShowul#carouselli { list-style: noneoutsidenone; float: left; margin-right: 5px; height: 226px; width: 161px; } #ZSlideShow { width: 600px; background-color: #e9e7db; padding: 5px4px5px4px; display: block; overflow: hidden; position: relative; } #ZSlideShow#container { height: 226px; width: 600px; position: relative; overflow: hidden; } Viewport of 600px
34. How to Build a Carousel (3) Step 3: Set up helper CONSTANTS in .js var ITEM_WIDTH = 166; // 161 div + 5px margin var LEFT_START_OFFSET = -113; var LEFT_OPACITY_ITEM_INDEX; var RIGHT_OPACITY_ITEM_INDEX; var BACK_TO_START_LEFT_POS; var START_POS_AFTER_SLIDE; varMINIMUM_ITEMS_SCROLLABLE = 4; // only scroll if >= this number varoriginal_items; varitem_revolution_counter; // if < -(original_items.length), back to start position // if > (original_items.length), back to (start position + slide) varautoscroller_timer;
35. How to Build a Carousel (4) Step 4: Set up Carouse on when DOM is ready ` jQuery(document).ready(function() { var items = jQuery("#carousel > li"); original_items = items; // save for appending to create circular effect if (items.length >= MINIMUM_ITEMS_SCROLLABLE) { appendOriginalsToFront(); appendOriginalsToBack(); BACK_TO_START_LEFT_POS = -(original_items.length * ITEM_WIDTH) + LEFT_START_OFFSET; START_POS_AFTER_SLIDE = BACK_TO_START_LEFT_POS + ITEM_WIDTH; jQuery("#carousel").css("left", START_POS_AFTER_SLIDE + "px"); item_revolution_counter = 0; LEFT_OPACITY_ITEM_INDEX = original_items.length - 1; RIGHT_OPACITY_ITEM_INDEX = LEFT_OPACITY_ITEM_INDEX + MINIMUM_ITEMS_SCROLLABLE; makeEdgeItemsTransparent(); } // adjust the width according to no. of items varcarouselWidth = jQuery("#carousel > li").length * ITEM_WIDTH; jQuery("#carousel").css("width", carouselWidth + "px"); // setup hover for prev/next to show up, and pause auto-scrolling jQuery("#ZSlideShow").hover(function () { toggleButtons(); clearInterval(autoscroller_timer); }, function () { toggleButtons(); setupAutoScroller(); }); // setup auto-scroll setupAutoScroller(); });
37. How to Build a Carousel Visual logic: we are animating the Left property of the #carousel to slide left or right. The Viewport with overflow:hidden hides the out-of-view items Viewport of 600px We’re scrolling the Left property of #carousel
38. How to Build a Carousel (6) Step 6: Append items to front & back for smooth circular effect functionappendOriginalsToFront() { varfirstItem = jQuery("#carousel > li:first"); for (var i = 0; i < original_items.length; ++i) { var cloned = jQuery(original_items[i]).clone(); styleEtsButton_restoreHoverEffects(cloned); cloned.insertBefore(firstItem); } } functionappendOriginalsToBack() { varlastItem = jQuery("#carousel > li:last"); for (var i = original_items.length - 1; i >= 0; --i) { var cloned = jQuery(original_items[i]).clone(); styleEtsButton_restoreHoverEffects(cloned); cloned.insertAfter(lastItem); } }
39. How to Build a Carousel (7) Step 7: What happens when you click Next button functioncarousel_next() { var items = jQuery("#carousel > li"); if (items.length >= MINIMUM_ITEMS_SCROLLABLE) { ++item_revolution_counter; if (item_revolution_counter > original_items.length) { item_revolution_counter = 1; // back to 1st item -- circular effect jQuery("#carousel").css("left", START_POS_AFTER_SLIDE + "px"); LEFT_OPACITY_ITEM_INDEX = original_items.length - 1; RIGHT_OPACITY_ITEM_INDEX = LEFT_OPACITY_ITEM_INDEX + MINIMUM_ITEMS_SCROLLABLE; } makeEdgeItemsOpaque(); ++LEFT_OPACITY_ITEM_INDEX; ++RIGHT_OPACITY_ITEM_INDEX; makeEdgeItemsTransparent(); var carousel = jQuery("#carousel"); varnewLeft = carousel.position().left - ITEM_WIDTH; jQuery("#carousel").animate({ left: newLeft + "px" }, "slow"); } }
40. How to Build a Carousel (8) Step 8: What happens when you click Prev button functioncarousel_prev() { var items = jQuery("#carousel > li"); if (items.length >= MINIMUM_ITEMS_SCROLLABLE) { --item_revolution_counter; if (item_revolution_counter <= -original_items.length) { item_revolution_counter = 0; // back to 1st item -- circular effect jQuery("#carousel").css("left", BACK_TO_START_LEFT_POS + "px"); LEFT_OPACITY_ITEM_INDEX = original_items.length; RIGHT_OPACITY_ITEM_INDEX = LEFT_OPACITY_ITEM_INDEX + MINIMUM_ITEMS_SCROLLABLE; } makeEdgeItemsOpaque(); --LEFT_OPACITY_ITEM_INDEX; --RIGHT_OPACITY_ITEM_INDEX; makeEdgeItemsTransparent(); var carousel = jQuery("#carousel"); varnewLeft = carousel.position().left + ITEM_WIDTH; jQuery("#carousel").animate({ left: newLeft + "px" }, "slow");