1.请问用jsonp解决跨域的具体写法是什么?
JSON 和 JSONP
如果在同一个域下,$.ajax()方法只要设置 dataType 属性即可加载 JSON 文件。而在非
同域下,可以使用 JSONP,但也是有条件的。
//$.ajax()加载 JSON 文件 $.ajax({ type : 'POST', url : 'test.json', dataType : 'json', success : function (response, status, xhr) { alert(response[0].url); } });
如果想跨域操作文件的话,我们就必须使用 JSONP。JSONP(JSON with Padding)是一个
非官方的协议,它允许在服务器端集成 Script tags 返回至客户端,通过 javascript callback 的
形式实现跨域访问(这仅仅是 JSONP 简单的实现形式)。
//跨域的 PHP 端文件 <?php $arr = array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); $result = json_encode($arr); $callback = $_GET['callback']; echo $callback."($result)"; ?> //$.getJSON()方法跨域获取 JSON $.getJSON('http://www.li.cc/test.php?callback=?', function (response) { console.log(response); }); //$.ajax()方法跨域获取 JSON $.ajax({ url : 'http://www.li.cc/test.php?callback=?', dataType : 'jsonp', success : function (response, status, xhr) { console.log(response); alert(response.a); } });
2.编程 用div,css,js,jq实现textarea自适应高度
文本框textarea高度随内容自适应增长收缩(js/jquery)textarea高度随内容自适应增长收缩
方法一、
- <HTML>
- <HEAD>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <TITLE>枫芸志 » 文本框textarea高度自适应增长/伸缩</TITLE>
- <style>
- textarea { height:100px; 300px; }
- </style>
- </HEAD>
- <BODY>
- <!--以下代码中onpropertychange:IE支持;oninput:FireFox支持;为了兼容IE和FF,所以加上了这个两个;-->
- <textarea id="txtContent" rows="1" onpropertychange="ResizeTextarea()" oninput="ResizeTextarea()" onkeyup="ResizeTextarea()">晴枫制作
- </textarea>
- <script type="text/网页特效">
- // 最小高度
- var minHeight = 100;
- // 最大高度,超过则出现滚动条
- var maxHeight = 300;
- function ResizeTextarea(){
- var t = document.getElementById('txtContent');
- h = t.scrollHeight;
- h = h > minHeight ? h : minHeight;
- h = h > maxHeight ? maxHeight : h;
- t.style.height = h + "px";
- }
- </script>
- </BODY>
- </HTML>
方法二、
- <HTML>
- <HEAD>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <TITLE>枫芸志 » 文本框textarea高度自适应增长/伸缩</TITLE>
- </HEAD>
- <BODY>
- <textarea id="txtContent" rows="5" cols="50" onkeyup="ResizeTextarea()" style="overflow-y:hidden;">Textarea高度随内容自适应地增长,无滚动条
- 晴枫制作
- http://www.php230.com</textarea>
- <script type="text/javascript">
- // 最小高度
- var minRows = 5;
- // 最大高度,超过则出现滚动条
- var maxRows = 12;
- function ResizeTextarea(){
- var t = document.getElementById('txtContent');
- if (t.scrollTop == 0) t.scrollTop=1;
- while (t.scrollTop == 0){
- if (t.rows > minRows)
- t.rows--;
- else
- break;
- t.scrollTop = 1;
- if (t.rows < maxRows)
- t.style.overflowY = "hidden";
- if (t.scrollTop > 0){
- t.rows++;
- break;
- }
- }
- while(t.scrollTop > 0){
- if (t.rows < maxRows){
- t.rows++;
- if (t.scrollTop == 0) t.scrollTop=1;
- }
- else{
- t.style.overflowY = "auto";
- break;
- }
- }
- }
- </script>
- </BODY>
- </HTML>
jquery实现方法
- <head>
- <title>jquery事件,动画1</title>
- <style type="text/css教程">
- <!--
- #Control
- {
- 100px;
- background-color:Red;
- margin:0;
- cursor:pointer;
- }
- -->
- </style>
- <script src="/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
- <script type="text/javascript"><!--
- $(function(){
- var $Content=$("#content");
- $("#big").bind("click",function(){
- //判断big为span的标签是否正在进行动画效果
- if(!$Content.is("animated"))
- {
- if($Content.height()<400)
- {
- //高度累加,隔0.4秒执行animate
- $Content.animate({height:"+=50"},400)
- }
- }
- });
- $("#smalll").bind("click",function(){
- if($Content.height()>50)
- {
- $Content.animate({height:"-=50"},400)
- }
- })
- })
- // -->
- </script>
- </head>
- <body>
- <div id="v_show">
- <div id="Control">
- <span id="smalll">缩小</span>
- <span id="big">放大</span>
- </div>
- <div>
- <textarea id="content" rows="8" cols="50">
- fdafdsafsda
- 。</textarea>