javascript

当前位置:首页 > 前端 > javascript

阴影效果-shine.js

1. 引入插件<script src="path/to/shine.min.js"></script>2. 实例化shine.js//默认参数实例化,my-shine-object为需要添加阴影的元素 va...

1. 引入插件

<script src="path/to/shine.min.js"></script>

2. 实例化shine.js

//默认参数实例化,my-shine-object为需要添加阴影的元素
var shine = new Shine(document.getElementById('my-shine-object'));

我们也可以先设置参数,然后实例化对象

var shine_config = new shinejs.Config({
	numSteps: 10,
	offset = 0.25,
	blur: 100,
	opacity: 0.5,
	shadowRGB: new shinejs.Color(255, 0, 0)
});
var shine = new Shine(document.getElementById("my-shine-object"), shine_config);

3. 阴影的相关操作

我们可以设置阴影的鼠标移动响应

window.addEventListener('mousemove', function(event) {
  shine.light.position.x = event.clientX;
  shine.light.position.y = event.clientY;
  shine.draw();
}, false);

API详解请大家参考官方 github主页



<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	<!--伸拉列表-->
<style>
 
    li {
        /*取消li小圆点*/
        list-style: none;
    }
 
    li span {
        /*给 span 标签设置背景图片(开头的小加号小减号,no-repeat不循环,初始位置 0 0)*/
        background: url(add.png) no-repeat left center;
        padding-left: 20px;
    }
 
    /*起始样式*/
    li ul{
        height: 0;
        /*溢出隐藏*/
        overflow: hidden;
        /*添加过渡效果*/
        transition: all 0.5s;
    }
    /*展开样式*/
    .open{
        background-image: url(minus.png);
    }
    .open+ul{
        height: 70px;
    }
 
 
</style>
 
 
<ul class="tree">
    <li><span class="open">考勤管理</span>
        <ul>
            <li>日常考勤</li>
            <li>请假申请</li>
            <li>加班出差</li>
        </ul>
    </li>
    <li><span>信息中心</span>
        <ul>
            <li>日常考勤</li>
            <li>请假申请</li>
            <li>加班出差</li>
        </ul>
    </li>
    <li><span>协同办公</span>
        <ul>
            <li>日常考勤</li>
            <li>请假申请</li>
            <li>加班出差</li>
        </ul>
    </li>
</ul>
 
<script>
	
	// 伸拉列表
 
	var spans = document.querySelectorAll(".tree span");
	 
	for (var i = 0; i < spans.length; i++) {
	    spans[i].onclick = function () {
	        // console.log(this);
	        // 查找要修改的元素 span 自己
	        // 修改,删除或添加 class -> open
	        // 判断自己身上是不是有 open,如果有,删除!
	        // this ->指向触发事件的元素本身
	        if (this.className == "open") {
	            // 如果有,删除!
	            this.className = "";
	        } else {
	            // 如果没有,则添加 ,删除其他已经打开的!
	            //找到打开(open属性的li)
	            var openSpan = document.querySelector(".tree .open")
	            if (openSpan !== null) {
	                // 如果集合不为空,删除他们的 open 属性
	                openSpan.className = "";
	            }
	            // 给自己设置 open 属性
	            this.className = "open";
	        }
	 
	 
	    }
	}
</script>



</body>
</html>


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~