jquery的浪漫(跑马灯 + 雪花飘落)
jquery的浪漫
主要用到知识点:
- 鼠标事件onmousedown() onmousemove() onmouseup()
- jquery的运用,对dom元素的增删改查
- css3 3d 功能的灵活运用
实现的功能
- 跑马灯效果 文字自动输入 雪花飘落 鼠标点击 滑动生成雪花 背景音乐等
- 看效果
html:
<div class="text">
<marquee behavior="alternate">时光不老,我们不散</marquee>
</div>
<div class="box">
<div class="pic">
<ul>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/1.jpg" alt=""></li>
<li><img src="./img/1.jpg" alt=""></li>
</ul>
</div>
</div>
<div class="text1"></div>
<audio
src="http://www.170mv.com/kw/other.web.rh01.sycdn.kuwo.cn/resource/n1/59/88/1388628737.mp3"
autoplay
loop
></audio>
css:
*{
margin: 0;
padding: 0;
list-style: none;
}
html,body{
width: 100%;
height: 100%;
position: relative;
cursor: pointer;
}
.wraper{
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
}
.text,.text1{
width:500px;
margin: 0 auto;
color: #fff;
font-size: 30px;
}
.text1{
color: rgba(19, 128, 230, 0.849);
}
.box{
width: 500px;
height: 300px;
margin: 150px auto;
perspective: 800px;
perspective-origin: 50% 50%;
}
.box .pic{
width: 500px;
height: 300px;
transform-style: preserve-3d;
animation: play 10s linear infinite;
position: relative;
}
.pic ul li{
border-radius: 5px;
width: 300px;
height: 300px;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
transition: transform 0.2s ease-in;
}
.pic ul li img{
width:100%;
height:100%;
}
.pic ul li:nth-child(1){
transform: rotateY(0deg) translateZ(150px);
}
.pic ul li:nth-child(2){
transform: rotateY(90deg) translateZ(150px);
}
.pic ul li:nth-child(3){
transform: rotateY(180deg) translateZ(150px);
}
.pic ul li:nth-child(4){
transform: rotateY(270deg) translateZ(150px);
}
.pic ul li:nth-child(5){
transform: rotateX(90deg) translateZ(150px);
}
.pic ul li:nth-child(6){
transform: rotateX(-90deg) translateZ(150px);
}
.box:hover .pic ul li:nth-child(1){
transform: rotateY(0deg) translateZ(250px);
}
.box:hover .pic ul li:nth-child(2){
transform: rotateY(90deg) translateZ(250px);
}
.box:hover .pic ul li:nth-child(3){
transform: rotateY(180deg) translateZ(250px);
}
.box:hover .pic ul li:nth-child(4){
transform: rotateY(270deg) translateZ(250px);
}
.box:hover .pic ul li:nth-child(5){
transform: rotateX(90deg) translateZ(250px);
}
.box:hover .pic ul li:nth-child(6){
transform: rotateX(-90deg) translateZ(250px);
}
@keyframes play{
0%{
transform:rotateX(0deg) rotateY(0deg);
}
100%{
transform: rotateX(360deg) rotateY(360deg);
}
}
js:
var text = document.getElementsByClassName('text1')[0];
window.onload = function(){
var str = '悠悠岁月之间我心永远不变,纵使沧海桑天爱你至到永远,我不在乎昨天更无所谓明天,抛开世间一切,唯独对你的思念一生一世海枯石烂!'
var i = 0;
var timer = setInterval(function(){
text.innerHTML +=str.charAt(i);
i++;
if(i >str.length){
i = 0;
text.innerHTML = ''
}
},150)
//雪花效果
var xh = '❉'
var minSize = 5;
var maxSize = 50;
var time = 100;
var color = "#fff";
var boxW = $(window).width();
var boxH = document.body.clientHeight;
var div = $('<div></div>').css({
'position':'absolute',
'top':'0px'
}).html(xh);
var timer1 = setInterval(function(){
var size = Math.random()*maxSize + minSize;
var left = Math.random()*boxW;
var opacity = Math.random()*0.8 + 0.3;
var endLeft = Math.random() * boxW;
var endTop = boxH - 100;
var speed = Math.random()*7000 + 3000;
div.clone().appendTo($('body')).css({
'left':left,
'font-size':size,
'opacity':opacity,
'color':color
}).animate({
'top':endTop,
'left':endLeft,
'opacity':'0.1'
}, speed,function(){
$(this).remove();
})
},time)
function cursor(e){
e.preventDefault();
e.stopPropagation();
var size = Math.random() * maxSize + minSize;
var left = e.pageX - size / 2;
var top = e.pageY - size / 2;
var opacity = Math.random() * 0.8 + 0.3;
var endLeft = Math.random() * boxW;
var endTop = boxH - 100;
var speed = Math.random() * 7000 + 3000;
div.clone().appendTo($('body')).css({
'left': left,
'top': top,
'font-size': size,
'opacity': opacity,
'color': color,
'z-index':'100'
}).animate({
'top': endTop,
'left': endLeft,
'opacity': '0.1'
}, speed, function () {
$(this).remove();
})
}
$('body').on('mousedown',function(e){
cursor(e);
$(document).on('mousemove',function(ev){
cursor(ev);
})
$(document).on('mouseup',function(){
$(document).off('mousemove').off('mousedown');
})
})
}
参考自:腾讯课堂渡一教育
jquery的浪漫(跑马灯 + 雪花飘落)的更多相关文章
- jQuery+CSS3文字跑马灯特效
jQuery+CSS3文字跑马灯特效是一款将跑马灯背景制作为3D立方体效果,文字在上面移动时,就像是文字投影到墙壁上,在转角出会改变运动方向. 效果展示 http://hovertree.com/te ...
- jQuery als.js 跑马灯
ali.js是一款滚动插件,滚动的内容可包含文字和图片.它的API也很强大,包括滚动区域可见个数.每次滚动个数.滚动方向.是否循环滚动.是否自动滚动.滚动间隔时间.滚动动画速度.动画效果.滚动方向以及 ...
- jQuery.snowflake雪花飘落插件
一.前言 前言:最近圣诞节来临,需要在页面上应用一个雪花飘落的效果,做之前产品经理给了我网络上的一个demo,地址是http://demo.lanrenzhijia.com/demo/1225/sd/ ...
- jquery.marquee.js - 有点奇怪的跑马灯动画,不过还是加上去了
客户想要一个跑马灯的效果,最终我用了jquery.marquee.js. 这个库很简单就能用. 效果是这样,从左到右,移动速度都不一样. 1. HTML <div class="mar ...
- 用jQuery实现参数自定义的文字跑马灯效果
一,明确需求 基本需求:最近在工作中接到一个新需求,简单来说就是实现一行文字从右到左跑马灯的效果,并且以固定的时间间隔进行循环. 原本这是一个很容易实现的需求,但是难点是要求很多参数得是用户可自行设置 ...
- 个人网站html5雪花飘落代码JS特效下载
如何给自己的网站/页面添加雪花代码.特效呢?有的网站配合自己的主题模板添加雪花飘落效果挺好看的.特别是与冬天季节相关的主题,很多的博客空间都加了雪花的效果.在网上搜索了几种雪花效果,做了简单的修改,在 ...
- jq跑马灯效果
这几天公司产品有个无缝循环滚动的广告跑马灯要做,最开始想到的是<marquee>标签,但在PC端正常,在安卓广告屏上却怎么都跑不动,后来用的css3的animation,结果也是PC端及其 ...
- JavaScript实现文字跑马灯
其实实现文字的跑马灯和实现图片轮播的原理是一样的. 下面是我自己实现的,文字的位置可以随便更改,效果不会变,文字的内容可以通过ajax获取,同时,可以直接用Jquery改写一下,很方便. <!D ...
- 使用 JS 实现文字左右跑马灯
Ø 前言 其实,前面两篇已经基本上实现了图片.文字跑马灯,这里为什么还要学下文字左右跑马灯呢?因为,虽然基本一样,但实现起来还是有很大不同的,所以为了完整再补充一下.代码如下: 1. 首先定义 ...
随机推荐
- 【大数据应用技术】作业十一|分布式并行计算MapReduce
本次作业在要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319 1.用自己的话阐明Hadoop平台上HDFS和MapRe ...
- SpringBoot使用jasypt加解密密码
在我们的服务中不可避免的需要使用到一些秘钥(数据库.redis等) 开发和测试环境还好,但生产如果采用明文配置讲会有安全问题,jasypt是一个通用的加解密库,我们可以使用它. <depende ...
- Linux虚拟内存的作用
要深入了解linux内存运行机制,需要知道下面提到的几个方面:首先,Linux系统会不时的进行页面交换操作,以保持尽可能多的空闲物理内存,即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存 ...
- 调用百度API接口 正解析地址和逆解析
地址解析(结构化地址 解析得到 经纬度): public void SaveLocation(DataRequest<Location> request, DataResponse< ...
- [转]windows 下 gcc/g++ 的安装
链接地址:https://www.jianshu.com/p/ff24a81f3637 不过下载地址直接进这里就可以了:https://sourceforge.net/projects/mingw/
- DataTable.NET的event執行順序
var dataTable = $('#table') .on( 'processing.dt', function ( e, settings, processing ) { $('#loading ...
- [LeetCode] 366. Find Leaves of Binary Tree 找二叉树的叶节点
Given a binary tree, find all leaves and then remove those leaves. Then repeat the previous steps un ...
- 嵌入式qt显示中文和隐藏鼠标
最近项目快接近尾声了,要把项目移植到板子上,但是板子上的系统没有安装字库,导致中文无法显示,并且有一个很讨厌的鼠标光标(又没有鼠标),上网找了一些解决方案,记录一下 qt显示中文: 如果你急于在ARM ...
- Echarts数据可视化grid直角坐标系(xAxis、yAxis)
mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 font ...
- Prometheus入门到放弃(7)之redis_exporter部署
redis监控,prometheus需要使用redis_exporter客户端. 这里我们采用docker方式部署,既可以部署在redis所在服务器,也可以部署在其他机器: docker镜像地址:ht ...