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. (转载)OpenStack client 调用分析

    https://blog.csdn.net/yenai2008/article/details/72722038?utm_source=itdadao&utm_medium=referral# ...

  2. 剑指offer:链表中环的入口结点

    题目描述: 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 思路分析: 这道题首先需要判断链表是否存在环,很快就能想到用快慢指针来判断. 由于快慢指针的相遇位置并不一定为链 ...

  3. 用docker构建redis cluster

    下面内容大部分借鉴自: http://louz.github.io/2016/08/11/docker-redis-cluster/ docker pull redis:3.0.7 #映射6379端口 ...

  4. [转]小D课堂 - 零基础入门SpringBoot2.X到实战_汇总

    原文地址:https://www.cnblogs.com/wangjunwei/p/11392825.html 第1节零基础快速入门SpringBoot2.0 小D课堂 - 零基础入门SpringBo ...

  5. NPOI导出EXCEL样式

    public void Export(DataRequest<ExportModel> request, DataResponse<dynamic> response) { t ...

  6. 【交互】抖音VS快手

    从能量节约,懒惰的人性本质角度来分析,有点意思. https://www.ui.cn/detail/506135.html

  7. aligin-items与aligin-content的区别

    align-items 属性使用于所有的flex容器,它是用来设置每个flex元素在侧轴上的默认对齐方式 aligin-items 与align-content有相同的功能,不过不同点是它是用来让每一 ...

  8. SpringBoot系列教程JPA之update使用姿势

    原文: 190623-SpringBoot系列教程JPA之update使用姿势 上面两篇博文拉开了jpa使用姿势的面纱一角,接下来我们继续往下扯,数据插入db之后,并不是说就一层不变了,就好比我在银行 ...

  9. [转帖]Socat 入门教程

    https://www.hi-linux.com/posts/61543.html 现在安装k8s 必须带 socat 今天看一下socat 到底是啥东西呢. Socat 是 Linux 下的一个多功 ...

  10. [转帖]《吊打面试官》系列-Redis基础

    <吊打面试官>系列-Redis基础 https://www.cnblogs.com/aobing/archive/2019/11/07/11811194.html   你知道的越多,你不知 ...