发表于: 2019-01-19 23:52:03
1 779
编辑日报内容...
今天完成:
1、 了解了轮播
2、 了解了一点定时器
明天计划:
1、了解并写一份简单的栅格布局
遇到的问题:
1、 轮播的左右箭头混用时,图片出现顺序混乱。
解决:index代指图片,通过++--判断现在显示的图片,再通过左右箭头判断移动方向距离index。
2、 onclick事件不触发 –Javascript
3、 Jquery无法通过循环为数组元素绑定点击事件……
原因未知…………
错误:liCircle[i].click(function(){})
可用:liCircle[count].onclick = function(){}
收获:
1、scss不能import引入外部文件的占位符:%name{};
2、animate() 方法执行 CSS 属性集的自定义动画。只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。
3、setInterval() 方法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
4、 jQuery :eq() 选择器
:eq() 选择器选取带有指定 index 值的元素。
index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1)。
经常与其他元素/选择器一起使用,来选择指定的组中特定序号的元素(如上面的例子)。
语法$(":eq(index)")
比如选择第二个 <p> 元素:$("p:eq(1)")
5、jQuery 遍历 - eq() 方法
eq() 方法将匹配元素集缩减值指定 index 上的一个。
例子:通过为 index 为 2 的 div 添加适当的类,将其变为蓝色:
$("body").find("div").eq(2).addClass("blue");
5、 方法后可以叠加方法,从前到后依序执行。比如动画
$("#go1").click(function(){ $("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } ) .animate( { fontSize: '10em' })
6、Js中作用域对于数组绑定事件的影响
看一段代码
for(var i = 0;i<imgs.length;i++){
imgs[i].onclick = function(){
alert(imgs.src);
}
}
这里很明显这是想给一个img图片数组统一添加一个点击事件,为了验证事件是否添加成功,就打印一下图片路径,但是很明显,这段代码不能运行,原因有两点:
在js中只有函数可以分割作用域,所以实际上,变量 I 是定义在全局的,也就是说,for结束后,i还存在,那么i的值是多少呢?一定是imgs.length,因为最后i还加了一次,所以,这时候你点击一张图片,打印的不是这张图片的src,而是imgs[imgs.length]这张图片的src,很显然,这张图片不可能存在。自然也就打印不出来,那么事件绑定上了吗?绑定上了
那么如何拿到索引呢?如果两个数组联动,索引是必不可少的,用原生Js可以在for循环内给每一个元素设置一个index属性,并把i传给他:
for(
vari =
0;i<imgCont.length;i++){
imgs[i].index =I;
imgs[i].onclick =
function(){
//alert(this.src);
};
}
评论