jQuery动画与Ajax

题目1: jQuery 中, $(document).ready()是什么意思?
当DOM准备就绪时,执行的一个函数。
等价于$().ready(handler) (this is not recommended)和$(handler)
.ready()方法通常用于一个匿名函数:

  // Handler for .ready() called.
});```
这等价于调用:
```$(function() {
     // Handler for .ready() called.
    });```
如果.ready()在DOM被初始化后被调用,新的处理函数通过将立即执行。

**题目2:** $node.html()和$node.text()的区别?
$node.html()获取集合中第一个匹配元素的HTML内容 或 设置每一个匹配元素的html内容。
$node.text()得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。
和 .html() 方法不同, .text() 在XML 和 HTML 文档中都能使用。.text() 方法返回一个字符串,包含所有匹配元素的合并文本。
.text()方法不能使用在 input 元素或scripts元素上。 input或 textarea需要使用 .val()方法获取或设置文本值。得到scripts元素的值,使用.html()方法。

**题目3:** $.extend 的作用和用法? 
作用:将两个或更多对象的内容合并到第一个对象。
用法: jQuery.extend([deep,] target [, object1 ] [, objectN ] )

**题目4:** jQuery 的链式调用是什么?
方法链:使用jQuery方法时,对象方法返回的是对象本身,可以调用对此对象的其他jQuery方法,实现连续调用多个方法。
例:$(this).siblings().removeClass('active');

**题目5:** jQuery 中 data 函数的作用
在匹配元素上存储任意相关数据 或 返回匹配的元素集合中的第一个元素的给定名称的数据存储的值。
.data( key, value )
.data( obj )

**题目6:**
写出以下功能对应的 jQuery 方法:
- 给元素 $node 添加 class active
$node.addClass('active');

- 给元素 $noed 删除 class active
$node.removeClass('active');

- 展示元素$node, 隐藏元素$node
$node.css('display', 'block');
$node.css('display', 'none');

- 获取元素$node 的 属性: id、src、title, 修改以上属性
$node.attr('id', '123');
$node.attr('src', '123');
$node.attr('src', '123');

- 给$node 添加自定义属性data-src
$node.attr('data-src');

- 在$ct 内部最开头添加元素$node
$ct.prepend($node);

- 在$ct 内部最末尾添加元素$node
$node.appendTo('$ct');

- 删除$node
$node.remove();

- 把$ct里内容清空
$ct.empty();

- 在$ct 里设置 html <div class="btn"></div>
$ct.html('<div class="btn"></div>');

- 获取、设置$node 的宽度、高度(分别不包括内边距、包括内边距、包括边框、包括外边距)
$node.width();   //设置或返回元素的宽度(不包括内边距、边框或外边距)
$node.height(); //设置或返回元素的高度(不包括内边距、边框或外边距)
$node.innerWidth();  //方法返回元素的宽度(包括内边距)
$node.innerHeight();  //方法返回元素的高度(包括内边距)
$node.outerWidth();  //方法返回元素的宽度(包括内边距和边框)
$node.outerHeight();  //方法返回元素的高度(包括内边距和边框)
$node.outerWidth(true);  //返回元素的宽度(包括内边距、边框和外边距)
$node.outerHeight(true);  //返回元素的高度(包括内边距、边框和外边距)


- 获取窗口滚动条垂直滚动距离
$('body').height();

- 获取$node 到根节点水平、垂直偏移距离
$node.offset();

- 修改$node 的样式,字体颜色设置红色,字体大小设置14px
$node.css({'color': 'red' ,  'font-size': '14px'});

- 遍历节点,把每个节点里面的文本内容重复一遍
$('body').text();

- 从$ct 里查找 class 为 .item的子元素
$ct.hasClass('.item');

- 获取$ct 里面的所有孩子
$ct.children();

- 对于$node,向上找到 class 为'.ct'的父亲,在从该父亲找到'.panel'的孩子
$node.parents('.ct').find('.panel');

- 获取选择元素的数量
$('div').length();

- 获取当前元素在兄弟中的排行
$node.index();

**题目7:**
用jQuery实现以下操作

- 当点击$btn 时,让 $btn 的背景色变为红色再变为蓝色

$btn.on('click', function(){
$(this).css('background', 'red');
setTimeout(function(){
$(this).css('background', 'blue');
}, 300);
})


- 当窗口滚动时,获取垂直滚动距离

$(window).on('scroll', function(){
console.log($(window).scrollTop());
})


- 当鼠标放置到$div 上,把$div 背景色改为红色,移出鼠标背景色变为白色

$div.on('mouseenter', function(){
$(this).css('background', 'red');
});

$div.on('mouseleave', function(){
$(this).css('background', '#fff');
});


- 当鼠标激活 input 输入框时让输入框边框变为蓝色,当输入框内容改变时把输入框里的文字小写变为大写,当输入框失去焦点时去掉边框蓝色,控制台展示输入框里的文字

$('input').on('focus', function(){
$(this).css('border-color', 'blue');
})

$('input').on('input', function(){
$(this).val($(this).val().toUppCase());
})
$('input').on('blur', function(){
$(this).css('border-color', 'none');
console.log($(this).val());
})


- 当选择 select 后,获取用户选择的内容

$('.select').on('change', function(){
$('.show').text($('.select option:selected').text());
})


**题目8:** 用 jQuery ajax 实现如下效果。`当点击加载更多会加载数据展示到页面[效果预览188](http://jrgzuoye.applinzi.com/%E4%BD%9C%E4%B8%9A%E5%AE%89%E6%8E%92/jscode/JS9-jqueryajax/1.html)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
<style>
ul,li{
margin: 0;
padding: 0;
}

#ct li{
    list-style: none;
    border: 1px solid #ccc;
    padding: 10px;
    margin-top: 10px;
    cursor: pointer;
}

#load-more{
    display: block;
    margin: 10px auto;
}

.btn{
    display: inline-block;
    text-decoration: none;
    color: #E27272;
    border: 1px solid #E27272;
    border-radius: 3px;
    text-align: center;
    height: 40px;
    width: 80px;
    line-height: 40px;
}

.hover{
    background: green;
    color: #fff;
}

</style>
</head>
<body>
<ul id='ct'>
<li>内容1</li>
<li>内容2</li>
</ul>
<a href="#" class='btn' id='load-more'>加载更多</a>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script>
var $loadMoreBtn = $('#load-more');
var cur = 2;

$('li').on('mouseenter', function(e){
  $(this).addClass('hover');
})
$('li').on('mouseleave', function(e){
  $(this).removeClass('hover');
})

 $('.btn').on('click', function(e){
   e.preventDefault();
   
   if($(this).data === 'loading'){
     return;
   }
   $(this).data('loading', true).css('color', '#888');
   
   $.ajax({
     url: 'loading...',
     dataType: 'json',
     type: 'get',
     data: {
       start: cur,
       len: 6
     },
     success: function(json){
       onSuccess(json);
     },
     error: function(){
       onError();
     }
   });
});

function onSuccess(json){
  $loadMoreBtn.data('loading', false).text('加载更多');
  if (json.status == 1){
    append(json.data);
    cur +=6;
  }else{
    alert('获取数据失败');
  }
}

function onError(){
  $loadMoreBtn.data('loading', false).text('加载更多');
  alert('系统异常');
}

function append(arr){
  for(var i = 0; i< arr.length; i++){
    $('.ct').append('<li>'+ arr[i] +'</li>')
  }
}

</script>
</body>
</html>


http://js.jirengu.com/seyipofubo/2/edit
**题目9:** 实现一个天气预报页面,前端展示自由发挥,数据接口: http://api.jirengu.com/weather.php
 (选做题目)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容