jQuery 特效实例_幽灵按钮4|学习笔记

开发者学堂课程【jQuery 开发教程:jQuery 特效实例_幽灵按钮4】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/362/detail/4315


jQuery 特效实例_幽灵按钮4


一、代码示例

实现 tooltip 提示框思路,要写一个div来承载提示框,需要位置的计算和下面的三角号,已经显示里面的内容。

首先让提示框承载出来,然后通过js控制位置。

(1)承载提示框,以及字体三角符号

.box . tooltip{ //观察可以看到效果有应该设置宽度和高度,仔细观察宽度是自动撑开的,高度是固定的,然后有一个边框圆角的效果,设置字体以及下面的三角符号。

position: absolute; //设置绝对定位

padding: 0 15px;  //中间字体不是靠边的,设置上下为0px,左右为15px

height: 35px; //高度为35px

background-color: #2dcb70; //设置背景颜色为绿色

border-radius: 5px; //设置圆角效果为5px

line-height: 35px;

margin: 0 auto; //使文字垂直居中

color: #ffffff; //设置字体颜色为白色

font-size: 18px; //字体大小为18px

font-weight: 700; //字体加粗效果

}

文本框效果图:jQuery 特效实例_幽灵按钮4|学习笔记

.box . tooltip span{ //三角形符号

position: absolute; //设置为绝对定位

width:0; //高度为0

height:0; //宽度为0

border: 8px solid transparent; //边框宽度为8px,实线,给一个透明的颜色

border- top-color: #2dcb70;  //设置上边框颜色为绿色

Left: 50%; //使得三角符号居中

margin-left: -4p;  //三角号再左一点

}

运行结果:jQuery 特效实例_幽灵按钮4|学习笔记

(2)script鼠标移动上动态获取,添加文本

观察可知文本的添加都是动态获取动态添加的。

首先可以写div承载提示框,类名为tooltip,里面的内容可以用<em>承载,也可以用span标签,文本框下面的三角号也可以用<span>标签承载,

通过index.html主体代码为:

< !DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<link rel="stylesheet" href="app.css" type="text/css"/>

< /head>

<body>

<div class="box">

<div class="link Link-miss">

<span class="icon"></span>

<a href="#" class="button" data-text=”My mission is clear”>

 

/​​/​​使用自定义属性添加内容并且可以获取到

<span class="line line- top"></span>

<span class="line Line-left"></span>

<span class="line line-right"></span>

<span class="line line- bottom"></span>

MISSION

</a>

</div>

<div class="link link-play">

<span class="icon">< /span>

<a href="#" class= "button" data-text=”This is my playground”>

<span class="line Line-top"></span>

<span class="line line-left"></span>

<span class="line line-right"></span>

<span class="line line- bottom"></span>

PLAY

</a>

</div>

<div class="link link- touch'">

<span class="icon"></span>

<a href="#" class="button" data-text=”Lets do something together”>

<span class="line line- top"></span>

<span class="line line-left"></span>

<span class="line line-right"></span>

<span class="line line- bottom"> </span>

TOUCH

</a>

</div>

<div class="tooltip">

<​​em​​> </​​em​​>  ​​/​​/​​随便添加内容,便于观察,设置成em标签方便查找span

<span></span>

</div>

</div>

<script src=”jquery-2.2.1.min.js”></script>

//使用js动态获取内容,并添加到<em>标签中

<script>

$( function(){

$(".button") . hover ( function() { //当鼠标略过时获取按钮,hover有两个参数,都为函数类型

var titleText=$(this) .attr ("data- text") ;

 

 //获取内容,声明变量titleText获取data- text内容

$(". tooltip em"). text(titleText);//使用指针指向,attr的方式动态获取titleText内容并添加

//返回的是个对象,只要获取距离左边的位置即可

var leftLoc=$(this).offset() .left;

var addleft=($(". tooltip"). outerWidth()-$(this) .outerwidth())/2;

 

//将距离赋给提示框,声明需要移动左边的距离变量 addleft,因为是自适应的一个宽度,所以要动态获取 tooltip,然后减去当前bottom的宽度。

$(". tooltip").css({

left: leftLoc-addleft​​

top:140

}) .animate({ //​​添加自定义动画

top:195,

opacity: 1

},300) /​​/动画执行时间为300

}​​​, function(){

})

})

</script>

< /body>

< /html>

 

最终效果图:jQuery 特效实例_幽灵按钮4|学习笔记

上一篇:Object Pools 喷泉效果实现


下一篇:Swift面向对象基础(中)——Swift中的存储属性和计算属性