javaScript和css的交互

前言:欢迎小伙伴们再次进入YY的小小课堂,咱们今天就继续来探讨 js 与 css 的奥秘吧!


目录:

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

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

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


本堂课新单词:

                        1.onclick : 点击事件

                        2.ondblclick :点击事件

                        3.onmouseover : 鼠标移入

                        4.onmouseout : 鼠标移出

                        5.onmousemove :鼠标移动

                        6.onmousedown : 按下鼠标

                        7.HTMLCollection :html集合


  一.使用 style 属性 制作菜单特效:

       1.样式表的基本语法:(3种

                ~ 标签选择器

                ~ ID选择器

                ~ 类选择器

     

   

        2.常见样式:

           主要分为:文本属性,背景属性,边框属性,边界属性

                             填充属性,浮动属性,列表属性,定位属性

        

       —— 如何动态改变页面元素的样式?

                1. 使用 getElement 系列方法访问元素

                2. 改变样式属性:

                            -- style属性

                            -- className属性

    

 3.在 <head> 与 </head> 标签之间的 style 样式 :

        

        —— 完善菜单特效:(思路分析)

                1.设置项目列表的初始状态

                 2.使用document.getElementByTagName("li") 来获取所有<li>标签

               

       4.使用style属性制作菜单特效(举例):

           下面代码中的 fn1()使用的就是 style属性

            具体代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.a{
				border: 10px solid green;
				box-shadom:0px 0px 10px yellow;
			}
		</style>
	</head>
	<body>
		<img id="m1" src="img/1.gif" >
		<img id="m2" src="img/2.gif" >
		<img id="m3" src="img/3.gif" >
		<p>
			<button type="button" onclick="fn1()">点我添加边框</button>
			<button type="button" onclick="fn2()">点我添加边框</button>
			<button type="button" onclick="fn3()">点我添加边框</button>
		</p>
		<script type="text/javascript">
			function fn1(){
				// 操作css的第一种方式 : 直接操作 style
				m1.style.border="5px solid black"
				m1.style.width="40px"
				m1.style.opacity=.5
			}
			function fn2(){
				m2.setAttribute("class","a")
			}
			function fn3(){
				// class 是关键字
				// 标签中的class属性在js中都叫做className
				m3.className="a"
			}
		</script>
	</body>
</html>

    运行结果如下图所示:


 

二.使用 className 属性 制作菜单特效:

    下面代码中 fn2()和 fn3()使用的就是 className属性

     详细代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			.a{
				border: 10px solid green;
				box-shadom:0px 0px 10px yellow;
			}
		</style>
	</head>
	<body>
		<img id="m1" src="img/1.gif" >
		<img id="m2" src="img/2.gif" >
		<img id="m3" src="img/3.gif" >
		<p>
			<button type="button" onclick="fn1()">点我添加边框</button>
			<button type="button" onclick="fn2()">点我添加边框</button>
			<button type="button" onclick="fn3()">点我添加边框</button>
		</p>
		<script type="text/javascript">
			function fn1(){
				// 操作css的第一种方式 : 直接操作 style
				m1.style.border="5px solid black"
				m1.style.width="40px"
				m1.style.opacity=.5
			}
			function fn2(){
				m2.setAttribute("class","a")
			}
			function fn3(){
				// class 是关键字
				// 标签中的class属性在js中都叫做className
				m3.className="a"
			}
		</script>
	</body>
</html>

运行结果如下:


 

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

(举例):

        ——如果想要页面中的图片可以 随着鼠标的滚动而滚动,还想要制作带 关闭按钮 的滚动广告,那么可以参考以下代码:

(注意:代码中会用到 绝对布局,绝对布局的作用就是  可以随便调整位置 ,还有其中的注释我们可以换成 块注释 ,不然运行结果会不一样哦!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div{
				border:2px solid black;
				/* 绝对 布局的特点:可以随便调整位置 */
				position:absolute;
				/* top bottom left right */
				right:20px;
				top:40px;
				transition: .1s;
			}
		</style>
	</head>
	<body>
		<div id="ad">
			<button type="button" onclick="ad.style.display='none'">x</button>
			<br>
			<img src="img/5.gif" >
		</div>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<p>拼多多,拼的多省得多</p>
		<script type="text/javascript">
			// 窗口的滑动事件
			window.onscroll=()=>{
				// 获得到窗口滚动的距离 scrollTop
				ad.style.top=40+document.documentElement.scrollTop+"px"
			}
		</script>
	</body>
</html>

运行结果如下图:

 

~~~~scrollTop , scrollLeft 属性

        获取滚动条在窗口中滚动的距离:

        document.documentElement.scrollTop;

        document.documentElement.scrollLeft;

——图片之放大镜效果:

 如果想要图片拥有放大的效果,那么可以参考以下代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			div{
				width:300px;
				height:300px;
				background: pink;
				position:absolute;
				/* 设置事件全部无效 */
				pointer-events:none;
				display:none;
			}
		</style>
	</head>
	<body>
		<img id="m1" src="img/1.gif" >
		<div id="div">
			<script type="text/javascript">
				// onclcik 点击事件
				// ondblclick 点击事件
				// onmouseover 鼠标移入事件
				// onmouseout 鼠标移出事件
				// onmousemove 鼠标移动事件
				
				m1.onmouseover=function(){
					div.style.display="block";
				}
				m1.onmouseout=function(){
					div.style.display="none";
				}
				m1.onmousemove=(e)=>{
					// 需要事件对象 Event
					console.log(e.clientX,e.clientY)
					div.style.left=e.clientX-50+"px"
					div.style.top=e.clientY-50+"px"
					div.style.background="url("+m1.src+") center/cover"
				}
			</script>
		</div>
	</body>
</html>

运行结果如下:

       


  真的都看完了吗?nice

  那么我们下次再见!!!      

       

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值