javascript and jquery for mobile

94

Upload: ivano-malavolta

Post on 07-May-2015

1.661 views

Category:

Technology


4 download

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

TRANSCRIPT

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