Zepto
一.Helloworld
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>zepto入门</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<style type="text/css">
#btn{
width: 200px;
height: 200px;
background: #FFFF00;
margin: 0 auto;
text-align: center;
line-height: 200px;
}
</style>
</head>
<body>
<!--
* 什么是zepto.js
概念: 移动端开发框架,是jquery的轻量级代替品;API及语句同jquery相似,但文件更小(可压缩至8KB)。
是目前功能完备的库中,最小的一个。
* zepto.js特点
1、针对的是移动端
2、轻量级,压缩版本只有8KB
3、语法大部分同jquery一样,学习成本低,上手快。
4、响应,执行快。
5、同jquery一样以$作为核心函数和核心对象。
-->
<div id="btn">我是一个按钮</div>
<script src="../js/zepto.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/touch.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$('#btn').on('touchstart',function(){
alert('我是zepto')
});
$('body').append($('<p>我是新添加的p标签</p>'));
})
</script>
</body>
</html>
二.与jQuery相同的API
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>common</title>
<style type="text/css">
.box1{
width: 200px;
height: 200px;
background:#FF0000;
}
.box2{
width: 200px;
height: 200px;
background:#FF00FF;
}
.box3{
width: 200px;
height: 200px;
background: green;
}
#dis{
display: none;
}
</style>
</head>
<body>
<!--
* 共同点:
jquery:
* 核心函数$
1、作为函数使用(参数)
1.function
2.html字符串
3.DOM code
4.选择器字符串
2、作为对象调用(方法)
1.$.ajax() $.get() $.post()
2.$.isArray()
$.each()
$.isFunction()
$.trim()
......
* jquery对象
概念:jquery核心函数$()调用返回的对象就是jquery对象的数组(可能有只有一个);
使用:
1.addClass()
2.removeClass()
3.show()
4.find()
zepto:
以上jquery的特性zepto同样适用
-->
<div class="box1">我是box1</div>
<div class="box2">我是box2</div>
<div class="box3">
<p>111</p>
<p>222</p>
<p>333</p>
</div>
<div id="dis">隐藏的元素</div>
<script src="../../js/zepto.js"></script>
<script src="../../js/touch.js"></script>
<script type="text/javascript">
$(function () {
$('.box1').on('touchstart',function () {
$(this).addClass('box2');
});
$('.box2').on('touchstart',function () {
$('#dis').show();
});
$('.box3').on('touchstart',function () {
$(this).find('p').css('background','red');
})
})
</script>
</body>
</html>
三.事件委托
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>jquery_事件委托</title>
<style type="text/css">
#box{
width: 400px;
background: green;
}
.a{
width: 200px;
height: 200px;
background: #FF0000;
}
.b{
width: 100px;
height: 100px;
background: #F0f;
}
</style>
</head>
<body>
<div id="box">
<div class="a">a的事件委托</div>
<br />
<br />
<br />
<div class="b">b的事件委托</div>
<br />
<br />
<br />
<div id="a">#a事件委托</div>
<p>Click me!</p>
</div>
<script src="../../../js/jquery-1.10.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
console.log($('.a').length);
$('#box').on("click",'.a',function(){
alert('a事件');
$(this).removeClass('a').addClass('b');
});
$('#box').on("click",'.b',function(){
alert('b事件');
$(this).removeClass('b').addClass('a');
});
$('#box').append('<div class="a" style="font-size: 30px;">我是新添加的div</div>')
})
</script>
</body>
</html>
四.zepto事件委托
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>zepto_事件委托</title>
<style type="text/css">
#box{
width: 400px;
background: green;
}
.a{
width: 200px;
height: 200px;
background: #FF0000;
}
.b{
width: 100px;
height: 100px;
background: #F0f;
}
</style>
</head>
<body>
<div id="box">
<div class="a">a 的事件委托</div>
<br />
<br />
<br />
<div class="b">b的事件委托</div>
<br />
<br />
<br />
<div id="a">#a的事件委托</div>
<p>Click me!</p>
</div>
<script src="../../../js/zepto.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/touch.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$('#box').on("click",'.a',function(){
alert('a事件');
$(this).removeClass('a').addClass('b');
});
$('#box').on("click",'.b',function(){
alert('b事件');
$(this).removeClass('b').addClass('a');
});
$('#box').append($('<p>我是新添加的p标签</p>',{
class:'a'}));
})
</script>
</body>
</html>
五.隐藏元素宽高
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box{
display: none;
width: 200px;
height: 200px;
border:1px solid #ff0;
}
</style>
</head>
<body>
<!--
jquery可以获取隐藏元素的宽高
-->
<div id="box"></div>
<script src="../../../js/jquery-1.10.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
console.log($('#box').width());
console.log($('#box').height());
});
</script>
</body>
</html>
六.zepto
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>zepto</title>
<style type="text/css">
#box{
display: none;
width: 200px;
height: 200px;
border: 1px solid #ff0;
}
</style>
</head>
<body>
<!--
zepto无法获取隐藏元素宽高
-->
<div id="box">hello</div>
<script src="../../../js/zepto.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function () {
console.log($('#box').width());
console.log($('#box').height());
});
</script>
</body>
</html>
七.attr和prop
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>jquery</title>
</head>
<body>
<select style="font-size: 25px;">
<option value="name">科比</option>
<option value="name">韦德</option>
<option value="name" selected="selected">邓肯</option>
<option value="name">吉诺比利</option>
<option value="name" selected="selected">艾弗森</option>
</select>
<script src="../../../js/jquery-1.10.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
$('option').each(function (index, item) {
console.log(index, item.innerHTML);
console.log($(this).attr('selected'));
console.log($(this).prop('selected'));
});
});
</script>
</body>
</html>
八.zepto
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>zepto_selected</title>
</head>
<body>
<select>
<option value="name">科比</option>
<option value="name">韦德</option>
<option value="name" selected="selected">邓肯</option>
<option value="name">吉诺比利</option>
<option value="name" selected="selected">艾弗森</option>
</select>
<button id="btn">按钮</button>
<script src="../../../js/zepto.js" type="text/javascript" charset="utf-8"></script>
<script src="../../../js/touch.js"></script