前言

记录学习JQuery遇到的问题。


知识部分

更新中……


使用json文件

1
2
3
4
5
6
7
$.get('https://clwy.cn/api/v2/home.json', function (data) {
// 这个eash是jquery的循环
$.each(data.introductory_courses, function (key, value) {
var html = //插入的html
$('选择器').append(html)
})
}, 'json')

页面不跳转更新内容

1
2
3
4
5
// 前一个页面传输id
<a href="details.html?id=${value.id}">
// 后一个页面接受id
var id = location.href.split('=')[1]
$.get(`https://clwy.cn/video/api/v2/categories/${id}.json`, function (data) {},'json')

JQuery遇到的问题

  • Script的位置:head中的JS代码会在页面加载完成之前就读取,而放在body中的JS代码,会在整个页面加载完成之后读取。(如果我们想定义一个全局对象,而这个对象是页面中的某个按钮时,我们必须将其放入body中,道理很明显:如果放入head,那当你定义的时候,那个按钮都没有被加载,可能获得的是一个undefind)

  • 基础:加表示时字符串(String是由数字、字母、下划线组成的一串字符。)

  • 不使用定义var时,直接赋值也是可以的,(但是还不明白为什么)。

  • Console.log放到上面时,网页输出不成功显示undefined。

  • 使用appendTo等前面要加标签。

  • 多个添加CSS的样式时,下面的生效。

  • Is范围大,需要加点.class,:为checked的用法(另外它的使用方法还需要加深)。

如果一个div里面有多个p等标签使用html和text修改,里面的都会改。

  • 使用prop时true和false不需要加引号(“”)。使用if时记得多个等号(= = =)。

  • return false防止刷新和停止执行作用。

  • 自增++,和自减–,计算器和数字比大小,转化为整数,小数的计算有精度问题,可以将变量*1转化为数字,目前不清楚原理以及其他影响。

  • Prop用来判断含ed的属性,利用true和false两个来判断。

  • 定时器setInterval(,)先用函数封装,再调用,重要的是setInterval用个函数相当于容器放里面,为下面的清除提供方法。删除clearInterval。利用hover写。

  • switch语句只能判断=,case后面是判断等于值,字符串加引号。

  • 使用select时候,option必须要写value,不写就会直接获取内容文本。

  • 先定义一个变量后,后面不用var,直接赋值。

  • setTimeout延时执行。

  • 追加的标签不能绑定事件,例如:$(document).on(click, a, function () {})。

  • If判断,比大小,假设一个为最大值对比,之后将大的赋值为最大。

  • Hover为mouseenter和mouseleave的和

  • Offset偏移相对于body,输出是像素。Position位置相对于父元素,输出是像素。两个获取左右都是要在()后面加点.来实现。

  • Scroll滚动,是父元素的位置改变,输出的不是像素。

  • Position不会和边距有关系,只有定位相联系。

  • 使用moment时间插件,利用定时器时先调用一次,显示出来后每秒执行一次。(设置好样式)

  • Silde动画没有slideTo,()后面写时间,fadeTo()写时间,透明度。

  • HTML的元素element.style的权值比在css里面写的要优先。

  • dl不能设置前面的圆点

  • 对元素取索引值时,一个父元素有其他的元素,同辈索引值为在整个父元素的位置,当利用其他的元素给它们设置时其索引值是重新从0开始。

  • animate里面的left和top要写定位。