JS/jquery实现鼠标控制页面元素显隐
最近网站要上一个活动广告横幅,当用户鼠标划过时显隐二维码。像这种鼠标事件控制页面元素显隐的情况,码农们会经常遇到,可以通过javascript或jquery代码实现,下面就几种常见需求一起归纳一下。
mouseout和mouseleave
对于鼠标指针的移入和移出,就涉及到了mouseover、mouseout和mouseleave事件。
mouseover:当鼠标指针移到目标元素时触发该事件;
mouseout:当鼠标指针移出目标元素或其子元素时,都会触发该事件;
mouseleave:只有到鼠标指针移出目标元素时,才会触发该事件;
这里需要特别注意mouseout与mouseleave的区别。我们通过下面代码示例来看一下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标控制页面元素显隐</title>
<script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>
<style>
#boxout,#boxleave{
width:250px;
height:100px;
padding-top:20px;
background-color:#cccccc;
float:left;
margin-left:30px;
} #boxoutson,#boxleaveson{
width:200px;
height:50px;
background-color:yellow;
padding:0px auto;
margin:0px auto;
}
</style>
</head>
<body>
<div id="boxout">
<div id="boxoutson">
第<span></span>此触发mouseout事件
</div>
</div>
<div id="boxleave">
<div id="boxleaveson">
第<span></span>此触发mouseleave事件
</div>
</div> <script>
x=0;
y=0;
$("#boxout").mouseout(function() {
$("#boxout span").text(x+=1);
}); $("#boxleave").mouseleave(function() {
$("#boxleave span").text(y+=1);
});
</script>
</body>
</html>
效果如下:
fadeIn和fadeOut
前文实例中用的是show()和hide()方法,前台显隐效果瞬间完成,为了提高实际用户体验,这里我们介绍两位更友好的“朋友”,即fadeIn和fadeOut。
fadeIn:方法使用淡入效果来显示目标元素。
fadeOut:方法使用淡出效果来隐藏目标元素
这两个方法可以配置参数来控制速度,比如slow、normal、fast或指定毫秒数。
下面我们就show()、hide()与fadeIn()、fadeOut()的效果坐下对比,代码如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>鼠标控制页面元素显隐</title>
<script src="http://apps.bdimg.com/libs/jquery/1.11.3/jquery.min.js"></script>
<style>
#box1,#box2{
width:250px;
height:100px;
padding-top:20px;
background-color:#cccccc;
float:left;
margin-left:30px;
} #box1son,#box2son{
width:200px;
height:50px;
background-color:yellow;
padding:0px auto;
margin:0px auto;
}
</style>
</head>
<body>
<div id="box1">
<div id="box1son">
<span>hide和show</span>
</div>
</div>
<div id="box2">
<div id="box2son">
<span>fadeIn和fadeOut</span>
</div>
</div> <script>
$("#box1 span").hide();
$("#box1").mouseover(function() {
$("#box1 span").show();
}).mouseleave(function() {
$("#box1 span").hide();
}); $("#box2 span").hide();
$("#box2").mouseover(function() {
$("#box2 span").fadeIn("slow");
}).mouseleave(function() {
$("#box2 span").fadeOut("slow");
});
</script>
</body>
</html>
效果如下:
小结
本文我们一起了解学习了通过js或jq实现鼠标事件控制页面元素显隐效果,方法十分简单。如果大家还有更好的其他解决方案,欢迎一起讨论交流。
#boxout,#boxleave{
width:250px;
height:100px;
padding-top:20px;
background-color:#cccccc;
float:left;
margin-left:30px;
}
#boxoutson,#boxleaveson{
width:200px;
height:50px;
background-color:yellow;
padding:0px auto;
margin:0px auto;
}
-->

JS/jquery实现鼠标控制页面元素显隐的更多相关文章
- h5之scrollIntoView控制页面元素滚动
如果滚动页面也是DOM没有解决的一个问题.为了解决这个问题,浏览器实现了一下方法,以方便开发人员如何更好的控制页面的滚动.在各种专有方法中,HTML5选择了scrollIntoView()作为标准方法 ...
- 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式
查看本章节 查看作业目录 需求说明: 使用 jQuery 基本选择器获取页面元素,然后利用 jQuery 对象的 css() 方法动态设置 <span> 和 <a> 标签的样式 ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- asp.net core根据用户权限控制页面元素的显示
asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...
- Java&Selenium调用JS实现高亮被操作页面元素高亮
Java&Selenium调用JS实现高亮被操作页面元素高亮 /* * the method of invoking js to do something * * @author daviey ...
- Vue-cli中使用vConsole,以及设置JS连续点击控制vConsole按钮显隐功能实现
最近发现了一个鹅厂的仓库,实现起来比我这个方便[捂脸].https://github.com/AlloyTeam/AlloyLever 一.vue-cli脚手架中搭建的项目引入vConsole调试 1 ...
- 如何在CSS中映射的鼠标位置,并实现通过鼠标移动控制页面元素效果
映射鼠标位置或实现拖拽效果,我们可以在 JavaScript 中做到这一点.但实际上,在CSS中有更加简洁的方法,我们可以在不使用JavaScript 的情况下,仍然可以实现相同的功能! 只使用CSS ...
- jQuery实现鼠标移到元素上动态提示消息框效果
当光标移动到某些元素上时,会弹出像tips的提示框,这种效果想必大家都有见到过吧,下面有个不错的示例,大家可以感受下 当光标移动到某些元素上时,会弹出像tips的提示框. 复制代码代码如下: < ...
- JQuery调用iframe父页面元素与方法
JQuery操作iframe父页面与子页面的元素与方法 下面简单使用Jquery来操作iframe的一些记录,这个使用纯JS也可以实现. 第一.在iframe中查找父页面元素的方法: $('#id', ...
随机推荐
- Ubuntu ROS Arduino Gazebo学习镜像iso说明(indigo版)
ROS机器人程序设计(原书第2版)学习镜像分享及使用说明 新版已经发布,请参考: http://blog.csdn.net/zhangrelay/article/details/53324759 Ub ...
- Java基本数据类型和长度
转自:http://lysongfei.iteye.com/blog/602546 java数据类型 字节 表示范围 byte(字节型) 1 -128-127 short(短整型 ...
- Android Notification 版本适配方案
Notification 介绍见:https://developer.android.com/reference/android/app/Notification.html Android api 一 ...
- WinCE中断结构分析
前一段时间研究了一下WinCE下的中断结构,整理了一下,希望与大家讨论. 最下面有PDF版本下载,便于保存 版权申明:本文版权归ARMCE所有,转载请保留所有原文内容及 ARMCE标识并注明出 自 A ...
- ubuntu下如何安装codeblocks集成开发环境
codeblocks是一个十分优秀的C/C++开发IDE,虽然后起之秀codelite目前来看大有超越之势哦. 不过在ubuntu下安装codeblocks却比较麻烦,不像其他linux发行版,比如s ...
- windows from 手风琴
public class OutlookBar : Panel { private int SelectedBandHeight { get; set; } public int ButtonHeig ...
- Java编程语言下Selenium 对于下拉框,单选,多选等选择器的操作
WebElement selector = driver.findElement(By.id("Selector")); Select select = new Select(se ...
- Day7组合
可以将那些重复的,固定的东西提出来,单独定义一个类. 例如: class Course: def __init__(self,course_name,course_period,course_pric ...
- MySQL数据库开发规范知识点
前言: 设计规范更多的是为了确保数据库设计的合理性.为了项目最终的协调稳定性,而命名规范则更多的是为了确保设计的正式和统一. 约定优先于配置(Convention Over Configuration ...
- json.parseArray源码解析
json.parseArray源码解析 public static <T> List<T> parseArray(String text, Class<T> cla ...