94

Javascript and jQuery for Mobile

Embed Size (px)

DESCRIPTION

Javascript and jQuery for mobile This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2013. http://www.ivanomalavolta.com

Citation preview

Page 1: Javascript and jQuery for Mobile
Page 2: Javascript and jQuery for Mobile
Page 3: Javascript and jQuery for Mobile
Page 4: Javascript and jQuery for Mobile
Page 5: Javascript and jQuery for Mobile
Page 6: Javascript and jQuery for Mobile
Page 7: Javascript and jQuery for Mobile

Page 8: Javascript and jQuery for Mobile

Page 9: Javascript and jQuery for Mobile

•– x = x + y; x*= 3; x %= y, x = x & y

•– x == 3; x != 5; x === y; 5 > 3

•–

•–

Page 10: Javascript and jQuery for Mobile

•condition ? val1 : val2

– delete window.obj

– var mycar = {make:"Opel", model:"Tigra", year:1999};

"make" in mycar; // returns true

Page 11: Javascript and jQuery for Mobile

myObj instanceof Object; //returns true

var myself = new Person("Ivano Malavolta");

–this.name;

this[„name‟];

–typeof myself.name; // returns string

Page 12: Javascript and jQuery for Mobile

var

var magicNumber = 42;

var user = App.getCurrentUser();

var loggedUser = (user.isLogged()) ? user.name : undefined

undefined

Uncaught ReferenceError: c is not defined

Page 13: Javascript and jQuery for Mobile

var

window.varName

Page 14: Javascript and jQuery for Mobile

– var bands = [ NIN , Kraftwerk , Rammstein ];

•– var logged= true; // false

•– var age = 12;

– var PI = 3.14;

•– var hello = „hello‟;

•– var band = {name: "NIN", founder: {name: "Trent",

surname: "Reznor"}};

– band.name; // NIN

– band.founder["surname"]; // Reznor

Page 15: Javascript and jQuery for Mobile

Page 16: Javascript and jQuery for Mobile

return

Page 17: Javascript and jQuery for Mobile
Page 18: Javascript and jQuery for Mobile
Page 19: Javascript and jQuery for Mobile
Page 20: Javascript and jQuery for Mobile

new

Page 21: Javascript and jQuery for Mobile

extends

Page 22: Javascript and jQuery for Mobile
Page 23: Javascript and jQuery for Mobile
Page 24: Javascript and jQuery for Mobile
Page 25: Javascript and jQuery for Mobile
Page 26: Javascript and jQuery for Mobile

document

document.body.parentNode

document.body.childNodes

document.body.firstChild

document.body.lastChild

document.body.nextSibling

document.body.previousSibling

Page 27: Javascript and jQuery for Mobile

document.body.firstChild.nodeName;

document.body.firstChild.firstChild.nodeValue;

document.body.firstChild.innerHTML = "<div>Hello</div>";

document.getElementById("title");

document.getElementsByTagName("DIV");

document.getElementsByClassName("listElement");

Page 28: Javascript and jQuery for Mobile

var myDiv = document.createElement("A");

document.createTextNode("Hello!");

document.body.appendChild(myDiv);

document.setAttribute("href", "http://www.google.it");

Page 29: Javascript and jQuery for Mobile
Page 30: Javascript and jQuery for Mobile
Page 31: Javascript and jQuery for Mobile

document.getElementbyId("myDiv").addEventListener(

"touchend", manageTouch, false);

function manageTouch(event) {

console.log("touched " + event.target);

}

Page 32: Javascript and jQuery for Mobile

event.preventDefault();

Page 33: Javascript and jQuery for Mobile

Page 34: Javascript and jQuery for Mobile
Page 35: Javascript and jQuery for Mobile

Page 36: Javascript and jQuery for Mobile
Page 37: Javascript and jQuery for Mobile
Page 38: Javascript and jQuery for Mobile

myDiv {

transform: translate(200,300);

}

myDiv {

transform: translate3d(200,300,0);

}

Page 39: Javascript and jQuery for Mobile

for(var i=0; i<document.getElementsByClassName("c1").length; i++) {

console.log(document.getElementsByClassName("c1")[i]);

}

var elements = document.getElementsByClassName("c1");

for(var i=0; i<elements.length; i++) {

console.log(elements[i]);

}

Page 40: Javascript and jQuery for Mobile

Page 41: Javascript and jQuery for Mobile

for(var i=0; i<myArray.length; i++) {

document.getElementById("c1").appendChild(myArray[i]);

}

var subtree = document.createElement("div");

for(var i=0; i<myArray.length; i++) {

subtree.appendChild(myArray[i]);

}

document.getElementById("c1").appendChild(subtree);

Page 42: Javascript and jQuery for Mobile
Page 43: Javascript and jQuery for Mobile
Page 44: Javascript and jQuery for Mobile

Page 45: Javascript and jQuery for Mobile
Page 46: Javascript and jQuery for Mobile

Page 47: Javascript and jQuery for Mobile

Page 48: Javascript and jQuery for Mobile

Page 49: Javascript and jQuery for Mobile

jQuery()

jQuery() $()

$("h1");

$(".important");

Page 50: Javascript and jQuery for Mobile

$.get('myhtmlpage.html', myCallBack);

function myCallBack() {

// code

}

Page 51: Javascript and jQuery for Mobile

$.get('myhtmlpage.html', function() {

// code

});

Page 52: Javascript and jQuery for Mobile

$.get('myhtmlpage.html', function() {

myCallBack(„Ivano‟, „Malavolta‟);

});

function myCallBack(name, surname) {

// code

}

Page 53: Javascript and jQuery for Mobile

$(„#nav')

$('div#intro h2')

$('#nav li.current a')

Page 54: Javascript and jQuery for Mobile

$('div.section')

$('div.section').length

$('div.section')[0]

$('div.section')[1]

$('div.section')[2]

Page 55: Javascript and jQuery for Mobile

$('div.section').size(); // matched elements

$('div.section').each(function(i) {

console.log("Item " + i + " is ", this);

});

Page 56: Javascript and jQuery for Mobile

html()

var text = $('span#msg').html();

$('span#msg').text(„Text to Add');

$('div#intro').html('<div>other div</div>');

Page 57: Javascript and jQuery for Mobile

attr()

var src = $('a#home').attr(„href');

$('a#home').attr(„href', './home.html');

$('a#home').attr({

'href': './home.html',

'id': „home'

});

$('a#home').removeAttr('id');

Page 58: Javascript and jQuery for Mobile

append()

prepend()

Page 59: Javascript and jQuery for Mobile

val()

html()

Page 60: Javascript and jQuery for Mobile

<form id="add" >

<input type="text" id="task" >

<input type="submit" value="Add" >

</form>

$(function(){

$("#add" ).submit(function(event){

event.preventDefault();

var task = $("#task").val();

});

});

Page 61: Javascript and jQuery for Mobile

css()

$("label" ).css("color" , "#f00" );

$("h1" ).css(

{"color" : "red" ,

"text-decoration" : "underline" }

);

Page 62: Javascript and jQuery for Mobile

addClass( )

removeClass( )

$("input" ).focus(function(event){

$(this).addClass("focused" );

});

$("input" ).blur(function(event){

$(this).removeClass("focused" );

});

Page 63: Javascript and jQuery for Mobile

$('p').css('font-size', '20px');

$('p').css({'font-size': '20px', color: 'red'});

$('#intro').addClass('highlighted');

$('#intro').removeClass('highlighted');

$('#intro').toggleClass('highlighted');

$('p').hasClass('foo');

Page 64: Javascript and jQuery for Mobile

$('div.intro').parent()

$('div.intro').next()

$('div.intro').prev()

$('div.intro').nextAll('div')

$('h1:first').parents()

$('li').not(':even').css('background-color',

'red');

Page 65: Javascript and jQuery for Mobile
Page 66: Javascript and jQuery for Mobile
Page 67: Javascript and jQuery for Mobile
Page 68: Javascript and jQuery for Mobile

$("#dataTable tbody tr").on(“touchend",

function(event){

alert($(this).text());

});

$("#dataTable tbody").on("touchend", "tr",

function(event){

alert($(this).text());

});

Page 69: Javascript and jQuery for Mobile

$("button").on(“touchstart", notify);

function notify() {

console.log(“touched");

}

Page 70: Javascript and jQuery for Mobile

data

event.data

Page 71: Javascript and jQuery for Mobile

$(“#button1").on(“touchstart",

{ name: “Ivano" }, greet);

$(“#button2").on(“touchstart",

{ name: “Andrea" }, greet);

function greet(event) {

alert("Hello “ + event.data.name);

}

Page 72: Javascript and jQuery for Mobile

$(“div.block”).on(“touchend”, touched);

function touched(event) {

console.log(this);

console.log($(this));

console.log(event);

}

Page 73: Javascript and jQuery for Mobile
Page 74: Javascript and jQuery for Mobile

.click()

.blur()

.focus()

.scroll()

.select()

.submit()

...

Page 75: Javascript and jQuery for Mobile
Page 76: Javascript and jQuery for Mobile

$('div.section').hide().addClass('gone');

Page 77: Javascript and jQuery for Mobile

Page 78: Javascript and jQuery for Mobile
Page 79: Javascript and jQuery for Mobile
Page 80: Javascript and jQuery for Mobile

$.ajax()

$.ajax({

url: url,

dataType: 'json',

data: data,

success: callback,

error: callbackError

});

Page 81: Javascript and jQuery for Mobile

$('h1').hide('slow');

$(„div.myBlock).show();

$('h1').slideDown('fast');

$('h1').fadeOut(2000);

$('h1').fadeOut(1000).slideDown()

Page 82: Javascript and jQuery for Mobile
Page 83: Javascript and jQuery for Mobile

Page 84: Javascript and jQuery for Mobile
Page 85: Javascript and jQuery for Mobile
Page 86: Javascript and jQuery for Mobile
Page 87: Javascript and jQuery for Mobile
Page 88: Javascript and jQuery for Mobile

Page 89: Javascript and jQuery for Mobile

var hammer = new Hammer(document.getElementById(".block"));

hammer.ondragstart = function(event) {...};

hammer.ondrag = function(event) {...};

hammer.ondragend = function(event) {...};

Page 90: Javascript and jQuery for Mobile

Page 91: Javascript and jQuery for Mobile

Page 92: Javascript and jQuery for Mobile

Page 93: Javascript and jQuery for Mobile

Page 94: Javascript and jQuery for Mobile