大家好:
一下是我对在线相册管理器和ajax中post用法的练习,如有错误望大家指出,谢谢
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="css/style.css"> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript" src="js/demo.js"></script> <title>在线相册管理器</title> </head> <body> <div class="box"> <h2>在线相册管理器</h2> <div class="header"> <p> <label for="img_url">图片地址:</label> <input type="text" name="img_url" id="img_url" placeholder="请输入图片地址"> </p> <p>图片类型: <input type="radio" name="border" value="0" checked="">直角 <input type="radio" name="border" value="10%">圆角 <input type="radio" name="border" value="50%">圆形 </p> <p>是否添加阴影: <select name="shadow"> <option value="0" selected="">不添加</option> <option value="1">添加</option> </select> </p> <p> <button>添加图片</button> <span></span> </p> </div> <div class="main"> <ul></ul> </div> </div> </body> </html>
点击 "运行实例" 按钮查看在线实例
.box { width: 360px; height: auto; background-color: lightyellow; } .header { padding: 5px; } .box h2 { text-align: center; margin: 0; } button:first-child { width: 100px; height: 30px; border:none; background-color: lightblue; color: white; } button:first-child:hover { font-size: 1.05em; background-color: blue; cursor: pointer; } .main { overflow: hidden; } .main ul { padding: 0; margin: 0; overflow: hidden; } .main ul li { list-style-type: none; float: left; width: 150px; height: 200px; text-align: center; margin-left: 20px; } .main ul li button { border: none; margin: 5px; } .main ul li button:hover { background-color: green; cursor: pointer; }
点击 "运行实例" 按钮查看在线实例
$(document).ready(function(){ //给第一个按钮添加一个点击事件 $('button').eq(0).click(function(){ // 获取图片地址 var img_url = $('#img_url').val() if (img_url.length == 0) { alert('请输入图片地址') $('#img_url').focus() return false } // console.log(img_url.length) //获取图片类型 var rad = $(':radio:checked').val() //是否添加阴影 var shadow = 'none' if ($(':selected').val() == 1) { shadow = '3px 3px 3px #888' } // 创建图片元素,并添加样式 var img = $('<img>') .prop('src',img_url) .width('150') .height('160') .css({ 'border-radius': rad, 'box-shadow': shadow }) //创建三个按钮: 前移,后移,删除 var before = $('<button>').text('前移') var after = $('<button>').text('后移') var remove = $('<button>').text('删除') //将创建的图片和三个按钮插入到刚创建的‘li’中 var li = $('<li>').append(img,before,after,remove) //将刚创建的li插入到ul中 li.appendTo('ul') //给前移按钮添加点击事件 before.click(function(){ $(this).parent().prev().before($(this).parent()) }) //给后移按钮添加点击事件 after.click(function(){ $(this).parent().next().after($(this).parent()) }) //给删除按钮添加点击事件 remove.click(function(){ $(this).parent().remove() }) }) })
点击 "运行实例" 按钮查看在线实例
以下是post用法:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax_POST</title> </head> <body> <form action="api/index.php" method="post" style="width: 400px"> <fieldset> <legend>用户登录</legend> <p> <label for="email">邮箱:</label> <input type="text" name="email" id="email"> </p> <p> <label for="password">密码:</label> <input type="password" name="password" id="password"> </p> <button>登录</button> <span id="tips" style="color: red;font-weight: bolder;"></span> </fieldset> </form> </body> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> //给按钮添加点击事件 $('button:first').click(function(){ //获取ajax-post提交的地址 var url = 'api/user.php?m=login' //要提交到服务器的数据 var data = { "email":$('#email').val(), "password":$('#password').val() } //设置执行成功的回调函数 var success = function(res){ if (res == '1') { $('#tips').text('登录成功,正在跳转中...') //添加一个延时事件 setTimeout(function(){ location.href = 'api/index.php' },2000) } else { $('#tips').text('邮箱或密码错误,请重新输入...') $('#email').focus() setTimeout("$('#tips').empty()",2000) } } //设置返回的数据格式为:json var dataType = 'json' //调用全局函数$.post()执行post请求 $.post(url, data, success, dataType) //禁用默认提交 return false }) </script> </html>
点击 "运行实例" 按钮查看在线实例
以下是手抄版本:
课程总结
通过这节在线相册管理器和ajax中post的用法课程,我总结了以下知识点:
1.创建三个按钮: 前移,后移,删除,并给它们添加事件的方法— 例如:前移: 将前一个图片做为插入点,在此之前插入当 前图片 before.click(function() { $(this).parent().prev().before($(this).parent()) });
2.了解post的基本语法和参数 — 语法:$.post(url, data, success, dataType)
参数:url: 请求的地址
data: 需要发送到服务器端的数据
success: 执行成功的回调函数
dataType: 从服务器返回数据的格式