发表于: 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(){}

 

 

 

收获:

1scss不能import引入外部文件的占位符:%name{}

 

2animate() 方法执行 CSS 属性集的自定义动画。只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。

3setInterval() 方法

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数

4、 jQuery :eq() 选择器

:eq() 选择器选取带有指定 index 值的元素。

index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1)。

经常与其他元素/选择器一起使用,来选择指定的组中特定序号的元素(如上面的例子)。

语法$(":eq(index)")

比如选择第二个 <p> 元素:$("p:eq(1)")

5jQuery 遍历 - 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' })

6Js中作用域对于数组绑定事件的影响

看一段代码

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(var i = 0;i<imgCont.length;i++){
    imgs[i].index =I;
    imgs[i].onclick = function(){
        //alert(this.src);
    };
}

 

 

 



返回列表 返回列表
评论

    分享到