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的浪漫(跑马灯 + 雪花飘落)的更多相关文章

  1. jQuery+CSS3文字跑马灯特效

    jQuery+CSS3文字跑马灯特效是一款将跑马灯背景制作为3D立方体效果,文字在上面移动时,就像是文字投影到墙壁上,在转角出会改变运动方向. 效果展示 http://hovertree.com/te ...

  2. jQuery als.js 跑马灯

    ali.js是一款滚动插件,滚动的内容可包含文字和图片.它的API也很强大,包括滚动区域可见个数.每次滚动个数.滚动方向.是否循环滚动.是否自动滚动.滚动间隔时间.滚动动画速度.动画效果.滚动方向以及 ...

  3. jQuery.snowflake雪花飘落插件

    一.前言 前言:最近圣诞节来临,需要在页面上应用一个雪花飘落的效果,做之前产品经理给了我网络上的一个demo,地址是http://demo.lanrenzhijia.com/demo/1225/sd/ ...

  4. jquery.marquee.js - 有点奇怪的跑马灯动画,不过还是加上去了

    客户想要一个跑马灯的效果,最终我用了jquery.marquee.js. 这个库很简单就能用. 效果是这样,从左到右,移动速度都不一样. 1. HTML <div class="mar ...

  5. 用jQuery实现参数自定义的文字跑马灯效果

    一,明确需求 基本需求:最近在工作中接到一个新需求,简单来说就是实现一行文字从右到左跑马灯的效果,并且以固定的时间间隔进行循环. 原本这是一个很容易实现的需求,但是难点是要求很多参数得是用户可自行设置 ...

  6. 个人网站html5雪花飘落代码JS特效下载

    如何给自己的网站/页面添加雪花代码.特效呢?有的网站配合自己的主题模板添加雪花飘落效果挺好看的.特别是与冬天季节相关的主题,很多的博客空间都加了雪花的效果.在网上搜索了几种雪花效果,做了简单的修改,在 ...

  7. jq跑马灯效果

    这几天公司产品有个无缝循环滚动的广告跑马灯要做,最开始想到的是<marquee>标签,但在PC端正常,在安卓广告屏上却怎么都跑不动,后来用的css3的animation,结果也是PC端及其 ...

  8. JavaScript实现文字跑马灯

    其实实现文字的跑马灯和实现图片轮播的原理是一样的. 下面是我自己实现的,文字的位置可以随便更改,效果不会变,文字的内容可以通过ajax获取,同时,可以直接用Jquery改写一下,很方便. <!D ...

  9. 使用 JS 实现文字左右跑马灯

    Ø  前言 其实,前面两篇已经基本上实现了图片.文字跑马灯,这里为什么还要学下文字左右跑马灯呢?因为,虽然基本一样,但实现起来还是有很大不同的,所以为了完整再补充一下.代码如下: 1.   首先定义 ...

随机推荐

  1. Mac php 装imagick扩展 菜鸟教程

    1.2.直接brew install imagemagick@6完成安装 2.去http://pecl.php.net/package/imagick下载安装包 2.1.下载完后解压tar -xzvf ...

  2. 安装docker (centos7.6)

    Docker 更新yum包 sudo yum update 卸载旧版本sudo yum remove docker docker-common docker-selinux docker-engine ...

  3. python创建缩略图和选择轮廓效果

    # -*- encoding:utf-8 -*- ''' 改变颜色 --- 颜色反转''' from PIL import Image nest = Image.open("D:\\tk.j ...

  4. CentOS 7 安装FTP服务器(vsftpd)

    FTP是安装各种环境前的预备环节,因为我们要把下载好的安装包上传上去.其次,在一个团队中,FTP服务器为多用户提供了一个文件储存场所,总之是一个非常实用的工具. 1.安装vsftpd # 首先要查看你 ...

  5. git - 3.分支

    分支介绍 每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线, 在Git里,这个分支叫主分支,即master分支. HEAD严格来说不是指向提交,而是指向mas ...

  6. excel打开csv 出现乱码

    现在做舆情分析的相关项目,在数据处理的时候,发现了一个问题.将数据写入到csv文件,用excel打开(默认)就会出现乱码,如果将数据写入到.xlsx文件就不会出现乱码,因为csv是通用格式,所以我猜想 ...

  7. SpringCloud中遇到的问题总结

    1.如果数据库URL字符串中不加serverTimezone=GMT%2B8且数据库未设置时区,会报如下错误 Caused by: com.mysql.cj.exceptions.InvalidCon ...

  8. c# 并行循环支持 async

    var bag = new ConcurrentBag<object>(); var tasks = myCollection.Select(async item => { // s ...

  9. postman跳过登陆直接使用的办法

    新版的postman不再是Chrome的插件,而是一个独立的app.下载安装后会提示你注册账户或者登陆.在私有环境,例如实验室,或者单机调试,或者其他VPN隔离的内部环境,无法完成登陆操作. 解决办法 ...

  10. Spring中的@ImportResource

    简介 这个注解很简单,就是导入spring的xml配置文件 直接来看spring官方文档: In applications where @Configuration classes are the p ...