计划列表 、整屏翻页

2018-11-07  本文已影响0人  啊烟雨

计划列表:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>计划列表</title>

<style type="text/css">

.list_con{

width:400px;

margin:50px auto 0;

}

.inputtxt{

width:350px;

height:30px;

border:1px solid #ccc;

padding:0px;

text-indent:10px;

}

.inputbtn{

width:40px;

height:32px;

padding:0px;

border:1px solid #ccc;

}

.list{

margin:0;

padding:0;

list-style:none;

margin-top:20px;

}

.list li{

height:30px;

line-height:30px;

border-bottom:1px solid #ccc;

}

.list li span{

float:left;

}

.list li a{

float:right;

text-decoration:none;

margin:0 10px;

}

</style>

<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>

<script type="text/javascript">

$(function(){

//绑定增加按钮的点击事件

$('#btn1').click(function() {

//获取文本框的内容

var txt = $('#txt1').val();

//清空文本框的内容

$('#txt1').val('');

//判断文本框的内容不允许为空

if(txt == ''){

alert('请输入内容!');

return;

}

//按照用户输入的内容准备好一个li列表项(从结构中复制,并替换其中的文字)

var $li = $('<li><span>' + txt + '</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>');

//把li追加到ul中

$li.appendTo('#list');

});

/*

//删除的点击监听(这种方式绑定会导致后增加的条目无法删除,因为监听在页面ready的时候绑定,还没有产生后增加的条目,所以无法实现动态绑定)

$('.del').click(function() {

$(this).parent().remove();

});

*/

//使用事件委托可以实现动态绑定,并且性能更高

$('#list').delegate('a', 'click', function() {

//获取点击元素的class属性的值

var handler = $(this).attr('class');

//根据class属性的值判断点的是删除还是排序

switch(handler){

case 'del'://删除

var txt = $(this).parent().children(':first').html();

if(confirm('你确定要删除"'+txt+'"吗?')){

$(this).parent().remove();

}

break;

case 'up'://向上

//如果当前元素之前的元素长度为0,说明前边没有其它元素了

if($(this).parent().prev().length == 0){

alert('到顶了!');

return;

}

//把当前li插到前边,谁的前边?它前一个元素的前边

$(this).parent().insertBefore($(this).parent().prev());

break;

case 'down'://向下

//如果当前元素之后的元素长度为0,说明后边没有其它元素了

if($(this).parent().next().length == 0){

alert('到底了!');

return;

}

//把当前li插到后边,谁的后边?它后一个元素的后边

$(this).parent().insertAfter($(this).parent().next());

break;

}

});

})

</script>

</head>

<body>

<div class="list_con">

<h2>To do list</h2>

<input type="text" name="" id="txt1" class="inputtxt">

<input type="button" name="" value="增加" id="btn1" class="inputbtn">

<ul id="list" class="list">

<li><span>学习html</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>

<li><span>学习css</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>

<li><span>学习javascript</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>

</ul>

</div>

</body>

</html>

运行效果:

整屏翻页:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>整屏滚动</title>

<link rel="stylesheet" type="text/css" href="css/test.css">

<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>

<script type="text/javascript" src="js/jquery.mousewheel.js"></script>

<script type="text/javascript">

$(function(){

//获取可视区的高度

var $h = $(window).height();

// alert($h);//973

var $pages = $('.pages');

var $points = $('.points li');

var len = $pages.length;//一共有几屏

var nowscreen = 0;//当前是第几屏

var timer = null;

//一开始给第一屏加淡入动画

$pages.eq(0).addClass('moving');

//把每一屏都设成可视区的高度

$pages.css({height:$h});

//鼠标滚轮的滚动事件

$(window).mousewheel(function(event, data){

//通过清除定时器实现函数节流,避免高频触发滚轮事件时一下滚动多次

clearTimeout(timer);

timer = setTimeout(function(){

//向下滑动是-1,向上滑动是1

// alert(data);

if(data == -1){//向下滑动

nowscreen++;

if(nowscreen > len -1){

nowscreen = len -1;

}

}else{//向上滑动

nowscreen--;

if(nowscreen < 0){

nowscreen = 0;

}

}

//修改top的值实现翻页

$('.pages_con').animate({top: -$h * nowscreen},300);

//设置当前小圆点和其它小圆点的样式

$points.eq(nowscreen).addClass('active').siblings().removeClass('active');

//当前屏做淡入动画,其它屏移除样式

$pages.eq(nowscreen).addClass('moving').siblings().removeClass('moving');

},200);//延迟200毫秒是经验数据

})

//点击小圆点也实现翻页和动画

$points.click(function() {

$(this).addClass('active').siblings().removeClass('active');

$('.pages_con').animate({top: -$h*$(this).index()}, 300);

$pages.eq($(this).index()).addClass('moving').siblings().removeClass('moving');

});

})

</script>

</head>

<body>

<div class="pages_con">

<div class="pages page1">

<div class="main_con">

<div class="left_img"><img src="images/001.png"></div>

<div class="right_info">

Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

</div>

</div>

</div>

<div class="pages page2">

<div class="main_con">

<div class="right_img"><img src="images/002.png"></div>

<div class="left_info">

2005年以后,互联网进入Web2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。

</div>

</div>

</div>

<div class="pages page3">

<div class="main_con">

<div class="left_img"><img src="images/004.png"></div>

<div class="right_info">

以前会Photoshop和Dreamweaver就可以制作网页,现在只掌握这些已经远远不够了。无论是开发难度上,还是开发方式上,现在的网页制作都更接近传统的网站后台开发,所以现在不再叫网页制作,而是叫Web前端开发。

</div>

</div>

</div>

<div class="pages page4">

<div class="main_con">

<div class="left_img"><img src="images/003.png"></div>

<div class="right_info">

Web前端开发在产品开发环节中的作用变得越来越重要,而且需要专业的前端工程师才能做好,这方面的专业人才近几年来备受青睐。Web前端开发是一项很特殊的工作,涵盖的知识面非常广,既有具体的技术,又有抽象的理念。简单地说,它的主要职能就是把网站的界面更好地呈现给用户。

</div>

</div>

</div>

<div class="pages page5">

<div class="main_con">

<div class="center_img"><img src="images/005.png"></div>

</div>

</div>

</div>

<!-- 定位到屏幕右侧的小圆点 -->

<ul class="points">

<li class="active"></li>

<li></li>

<li></li>

<li></li>

<li></li>

</ul>

</body>

</html>

运行效果:

上一篇下一篇

猜你喜欢

热点阅读