javascript与css的交互

简介: javascript与css的交互

目标:

1.使用style属性制作菜单特效;

2.使用className属性制作菜单特效;

3.使用scrollTop制作随鼠标滚动的广告图片;

一、通过js修改元素的样式

<style>
.va{border:1px solid #c00;}
.vb{border:0;}
</style>
<script type="text/javascript">
function mya(obj){
    obj.className="va";
}
function myb(obj){
    obj.className="vb";
}
</script>
<body>
<div οnmοuseοver="mya(this)" οnmοuseοut="myb(this)"></div>
</body>

 

二、js菜单

1.写好样式;

2.写好函数;

3.不同事件调用不同函数。

当有很多行代码相同时,例如:

<li οnmοuseοver="mya(this)" οnmοuseοut="myb(this)">第一行</li>
<li οnmοuseοver="mya(this)" οnmοuseοut="myb(this)">第二行</li>
<li οnmοuseοver="mya(this)" οnmοuseοut="myb(this)">第三行</li>
……

以上代码相同的,相同的<li> 和事件

JS简化写思路:

1.获得<li>标签对象集合

2.循环集合中的对象,对象.事件=function(){}

代码:

var arr=document.getElementByTagName("li");
for(var i=0; i<arr.length; i++){
    arr[i].className="vb";
    arr[i].οnmοuseοver=function(){
    this.className="va";
    };
    arr[i].οnmοuseοut=function(){
    this.className="vb";
    }
}

三、图片跟随滚动条

获取类样式的方法:

   currentStyle

   getComputedStyle()

网页的三维:x,y,z

层的浮动:position:absolute;

   top:20px;

   left:20px;

   right:20px;

   bottom:20px;

滚动事件:

   currentStyle

   //得到当前样式

   currentStyle.top  //当前与top

与top的距离
与left的距离
scrollTop滚动距离

<script type="text/javascript">
var va;
var vb;
//得到ID的位置
function myload(){
  var da=document.getElementById("id");
  va=da.currentStyle.top;
  vb=da.currentStyle.left;
  alert(va+"   "+vb);  
}
//得到滚动
function mymove(){
  var ga=document.documentElement.scrollTop;
  var gb=document.documentElement.scrollLeft;
  alert(ga+"   "+gb);
}

//window滚动事件

window.οnscrοll=mymove;

</script>

<body οnlοad="myload()">

正则:

数字:\d [0-9]

除了abc以外的字符:[^abc]

合法字符:\w [0-9a-zA-Z_]

空格:\s

.:除了\n以外的任意字符

点:\.

[a-g]{2,5} a-g中出现2-5次 例如:aaaaa

abc+ c至少出现1次

+:至少出现1次

?:0次或者1次

-:连字符

*:任意次

|:或者


相关文章
|
4天前
|
前端开发 JavaScript
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
文本,wangEditor5展示HTML无样式,wangEditor5如何看源码,Ctrl + U看CSS文件,代码高亮,Prism.js可以实现,解决方法,参考网页源代码的写法
|
6天前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
9 2
|
6天前
|
JavaScript 前端开发
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)
10 1
前后端数据交互,request.js文件添加拦截器的写法,数据请求失败后的固定写法
前后端数据交互,request.js文件添加拦截器的写法,数据请求失败后的固定写法
|
4天前
|
JavaScript 数据安全/隐私保护 索引
node.js 命令行交互工具(最新版) inquirer.js 实用教程
node.js 命令行交互工具(最新版) inquirer.js 实用教程
8 0
|
6天前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】Animated Navigation
【HTML+CSS+JavaScript】Animated Navigation
6 0
|
6天前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】animated-countdown
【HTML+CSS+JavaScript】animated-countdown
8 0
|
6天前
|
前端开发 JavaScript
【HTML+CSS+JavaScript】3d-boxes-background
【HTML+CSS+JavaScript】3d-boxes-background
6 0
|
6天前
|
前端开发 JavaScript
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
10 0
|
7天前
|
JavaScript
vue + d3.js(v6) 绘制【柱状图/条形图】(含动画和交互)
vue + d3.js(v6) 绘制【柱状图/条形图】(含动画和交互)
8 0