发表于: 2018-11-25 22:01:55

1 895


今天完成的事情:今天学习了js数据类型:

字符串(String)

字符串是存储字符(比如 "Bill Gates")的变量。

字符串可以是引号中的任意文本。

数字(Number)JavaScript 只有一种数字类型。数字可以带小数点,也可以不带,极大或极小的数字可以通过科学(指数)计数法来书写。

布尔(Boolean)布尔(逻辑)只能有两个值:true 或 false。

数组(Array)创建一个数组:

 var cars=new Array();

 cars[0]="Saab";

 cars[1]="Volvo";

 cars[2]="BMW";

var cars=["Saab","Volvo","BMW"];

对象(Object)

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义:

 var person={firstname:"John", lastname:"Doe", id:5566};

变量均为对象,函数即对象。对象定义比较宽泛,目前只了解这么多。

空(Null)未定义(Undefined)

Undefined 这个值表示变量不含有值。

可以通过将变量的值设置为 null 来清空变量。

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型;

当您声明新变量时,可以使用关键词 "new" 来声明其类型:

 var carname=new String;

 var x=      new Number;

 var y=      new Boolean;

 var cars=   new Array;

 var person= new Object;

在JavaScript中,函数即对象,可以随意地被程序操控,函数可以嵌套在其他函数中定义,这样可以访问它们被定义时所处的作用域中的任何变量。

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

 function functionname()

 {

执行代码

 }

JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

function 中的花括号是必需的,即使函数体内只包含一条语句,仍然必须使用花括号将其括起来。

在调用函数时,您可以向其传递值,这些值被称为参数。

这些参数可以在函数中使用。

您可以发送任意多的参数,由逗号 (,) 分隔

函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时,函数会停止执行,并返回指定的值。

然后把昨天的手风琴菜单用到了任务15中
添加了下拉按钮和响应式:

然后学习了如何用纯css写轮播图:

其中有两个知识点 animation和@keyframes规则,

animation语法如下

animation: name duration timing-function delay iteration-count direction fill-mode;

对照上面分别是,绑定的关键帧名字 ;全过程时间;运动曲线 (贝塞尔曲线);播放前延迟时间;播放次数;是否反向播放;停止时以及开始前位置;是否播放。

一般必须的是name;duration;iterationcount;是必须的其他想要设置按照前后顺序写,

比如animation:mymove 5s ease infinite;

上面这段代码意思是:绑定的@keyframes名称为mymove 一个动画过程5秒 以开始慢中间快结尾慢完成 无限重复此过程。

移动的始末位置使用@keyframes来设置的:

}

它的语法如上,他可以设置大部分样式属性。

我制作轮播图的原理是把图片浮动平铺在一行,父级尺寸只有一张图大小,超出不显示,然后用@keyframes来移动图片:

<style>
body{
margin: 0;
}
.animation{
width: 100%;
overflow: hidden;
position: relative;
}
.photo{
width: 300%;
animation:change 9s ease-out infinite;
}
.photo>img{
float: left;
width: calc(100%/3) ;
}
@keyframes change{
0%, 25% {
margin-left:0 ;
}
35%, 60% {
margin-left: -100%;
}
70%, 100% {
margin-left: -200%;
}
}
.three-circle{
display: flex;
justify-content: center;
position: absolute;
bottom: 10%;
left: 0;
right: 0;
}
.circle{
margin: 0 5px;
width: 10px;
height: 10px;
border-radius: 50%;
background: #fff;
position: relative;
}
.move-circle{
position: absolute;
background: #81d1ff;
width: 10px;
height: 10px;
border-radius: 50%;
top: 0;
left: 0;
z-index: 1;
animation: move 9s infinite;
}
@keyframes move {
0%,25%{
left: 0;
}
25.1%,60%{
left: 20px;
}
60.1%,100%{
left: 40px;
}
}

</style>
</head>
<body>
<div class="animation">
<div class="photo">
<img src="photo1.jpg" alt="">
<img src="photo2.png" alt="">
<img src="photo3.png" alt="">
</div>
<div class="three-circle">
<div class="circle">
<div class="move-circle"></div>
</div>
<div class="circle"></div>
<div class="circle"></div>
</div>
</div>
</body>

底下的圆点使用一个蓝色圆圈做运动来覆盖白色圆圈。

明天计划的事情:完成任务14-15,学习js基础。
遇到的问题:轮播图圆圈完全没思路,多次观摩动图和别人的资料。
收获:学会了制作css轮播图和折叠导航栏。


返回列表 返回列表
评论

    分享到