【java web】--Beetl+html鼠标悬停提示气泡

2023-10-20 22:59

本文主要是介绍【java web】--Beetl+html鼠标悬停提示气泡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

业务需求

  用户中心有三个图标:手机、邮箱、银行卡绑定。如果完成了相应的绑定工作,图标就显示深色,未完成图标就是浅色,气泡中提示相应的文字和链接。示意图如下,主要要实现气泡弹出功能。

 

 

 

 

 

实现思路

  1.鼠标移到图片上,隐藏的div弹层属性改成:显示,弹层背景是一个类似qq会话的图片,如上图所示。

  2.鼠标离开图片,关闭div弹层 。

  3.鼠标移动到气泡内,显示文字,并关闭其他气泡。

  4.鼠标移出气泡,关闭本气泡。

 

完成代码

html+beetl

 

	<div class="phone_r"><h1>${user.userName},欢迎您!</h1><P>认证信息:<%if(phone==0){%><img src="${request.contextPath}/resources/img/htel.jpg" class="wimg"  onmouseover="showdiv('p_01');closediv('p_02');closediv('p_03');" /><%}else if(phone.certifiedStatus==1) {%><img src="${request.contextPath}/resources/img/ztel.jpg" class="wimg"  onmouseover="showdiv('p_01');closediv('p_02');closediv('p_03');" /><%}%><%if(email==0){%><img src="${request.contextPath}/resources/img/tb1.jpg" class="wimg1" onmouseover="showdiv('p_02');closediv('p_01');closediv('p_03')" /><%}else if(email.certifiedStatus==1) {%><img src="${request.contextPath}/resources/img/z-mail.jpg" class="wimg1" onmouseover="showdiv('p_02');closediv('p_01');closediv('p_03')" /><%}%><%if(bank==0){%><img src="${request.contextPath}/resources/img/htuoguan.jpg" class="wimg2" onmouseover="showdiv('p_03');closediv('p_01');closediv('p_02')" /><%}else if(bank.bankCardStatus==2){%>	<img src="${request.contextPath}/resources/img/z-tuoguan.jpg" class="wimg2" onmouseover="showdiv('p_03');closediv('p_01');closediv('p_02')" /><%}else if(bank.bankCardStatus==1){%><img src="${request.contextPath}/resources/img/z-tuoguan.jpg" class="wimg2" onmouseover="showdiv('p_03');closediv('p_01');closediv('p_02')" /><%}%><span>资料完整度${percent!}%,完成“ ${unfishedPart!}”可获得${partialIntegral!}积分奖励;</span></P><div id="p_01" class="bubble1" onmouseout="closediv('p_01')" ><img src="${request.contextPath}/resources/img/bubble.png" onmouseover="showdiv('p_01')" ><%if(phone==0){%><span  onmouseover="showdiv('p_01')" >您还没验证手机, <a href="${request.contextPath}/ssl/account/toSetting.htm">立即验证 </a></span><%}else if(phone.certifiedStatus==1) {%><span  onmouseover="showdiv('p_01')" >您已验证手机: ${strutil.subStringTo(phone.mobile,0,3)}****${strutil.subStringTo(phone.mobile,7,11)}</span><%}%>						</div><div id="p_02" class="bubble2" onmouseout="closediv('p_02')" ><img src="${request.contextPath}/resources/img/bubble.png" onmouseover="showdiv('p_02')"><%if(email==0){%><span  onmouseover="showdiv('p_02')">您还没验证邮箱, <a href="${request.contextPath}/ssl/account/toSetting.htm">立即验证 </a></span><%}else if(email.certifiedStatus==1) {%><span  onmouseover="showdiv('p_02')">您已验证邮箱:${strutil.subStringTo(email.email,0,2)}*****${ strutil.split (email.email,"@")[1]}</span><%}%></div><div id="p_03" class="bubble3"  onmouseout="closediv('p_03')" ><img src="${request.contextPath}/resources/img/bubble.png" onmouseover="showdiv('p_03')"><%if(bank==0){%><span  onmouseover="showdiv('p_03')">您还没有绑定银行卡, <a href="${request.contextPath}/ssl/account/toSetting.htm">立即绑定 </a></span><%}else if(bank.bankCardStatus==2){%><span  onmouseover="showdiv('p_03')">您已绑定银行卡: ${strutil.subStringTo(bank.bankCard,0,3)}***********${strutil.subStringTo(bank.bankCard,bankLength-5,bankLength-1)}</span><%}else if(bank.bankCardStatus==1){%><span  onmouseover="showdiv('p_03')">您绑定银行卡正在认证中</span><%}%></div>


css

 

 

/*我的普惠----手机,邮箱,银行卡,鼠标滑动显示气泡*/
.phone_r{position:relative;
}
.phone_r div.bubble1{margin-bottom:10px;display:block;position:absolute;left:30px;bottom:-10px;display:none;
}
.phone_r div.bubble1 img{display:inline-block;width:220px;height:35px;position:relative;
}.phone_r div.bubble1>span{position:absolute;left:-35px;top:20px;color:#666666;
}
.phone_r div.bubble1>span>a{color:#ed345a;
}.phone_r div.bubble2{margin-bottom:10px;display:block;position:absolute;left:62px;bottom:-10px;display:none;
}
.phone_r div.bubble2 img{display:inline-block;width:220px;height:35px;position:relative;
}.phone_r div.bubble2>span{position:absolute;left:-35px;top:20px;color:#666666;
}
.phone_r div.bubble2>span>a{color:#ed345a;
}.phone_r div.bubble3{margin-bottom:10px;display:block;position:absolute;left:95px;bottom:-10px;display:none;
}
.phone_r div.bubble3 img{display:inline-block;width:220px;height:35px;position:relative;
}.phone_r div.bubble3>span{position:absolute;left:-35px;top:20px;color:#666666;
}
.phone_r div.bubble3>span>a{color:#ed345a;
}


js

 

 

//显示气泡function showdiv(obj){if(obj==1){$(".bubble1").hide();}else if (obj==2){$(".bubble2").hide();}else if (obj==3){$(".bubble3").hide();}document.getElementById(obj).style.display = "block";}//隐藏气泡function closediv(obj){document.getElementById(obj).style.display = "none";}

 

 

字符串转换成数组(例如:2496868487转换成[2],[4]……[7])

 

StringbankCard=accountCapitalService.getCustBankByUserId(user.getId()).getBankCard();
char[] arrayBankCard=bankCard.toCharArray();//字符串转换成数组
int bankLength=arrayBankCard.length;

 

 

 

 

 

 

开发前二期的jsp代码

 

function authInfo(){//实名认证if("${realName.certifiedStatus}"==1){$("#nameMsg").html("您已开通资金托管:"+'${fn:substring(realName.realName,0,1)}**');$("#nameStatus").addClass("card_red");$("#security").html("安全等级:高");}else{$("#nameMsg").html("您未开通资金托管,<a href=\"toSetting.htm?realName\" >立即开通</a>");$("#nameStatus").addClass("red");$("#security").html("安全等级:低");}//手机认证if("${phone.certifiedStatus}"==1){$("#telMsg").html("您已验证手机:"+'${fn:substring(phone.mobile,0,3)}****${fn:substring(phone.mobile,7,-1)}');$("#telStatus").addClass("tel_red");}else{$("#telMsg").html("您还没验证手机,<a href=\"toSetting.htm?mobile\">立即验证</a>");$("#telStatus").addClass("red");}//邮箱认证if("${email.certifiedStatus}"==1){$("#emailMsg").html("您已验证邮箱:"+'${fn:substring(email.email,0,2)}*****${fn:split(email.email,"@")[1]}');$("#emailStatus").addClass("email_red");}else{$("#emailMsg").html("您还没验证邮箱,<a href=\"toSetting.htm?email\" >立即验证</a>");$("#emailStatus").addClass("red");}//银行卡认证if("${bank.bankCardStatus}"==1){$("#bankMsg").html("您绑定银行卡正在认证中");$("#bankStatus").addClass("red");}else if("${bank.bankCardStatus}"==2){$("#bankMsg").html("您已绑定银行卡:"+'${fn:substring(bank.bankCard,0,3)}**********${fn:substring(bank.bankCard,14,-1)}');$("#bankStatus").addClass("bank_red");}else{$("#bankMsg").html("您还没有绑定银行卡,<a href=\"toSetting.htm?bank\" >立即绑定</a>");$("#bankStatus").addClass("red");}
}

 

 

 

 

 

个人感受

       思路很重要,有很多细节是需要基础的。比如一些截取字符串subString ,分割字符spilt,这些都是我们学习的基础。不管是js,beetl还是el,jstl,这些都是很核心的东西,学会一个思路,下一个再用的时候变通一下就好啦!

        

 

这篇关于【java web】--Beetl+html鼠标悬停提示气泡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/250256

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

全面解析HTML5中Checkbox标签

《全面解析HTML5中Checkbox标签》Checkbox是HTML5中非常重要的表单元素之一,通过合理使用其属性和样式自定义方法,可以为用户提供丰富多样的交互体验,这篇文章给大家介绍HTML5中C... 在html5中,Checkbox(复选框)是一种常用的表单元素,允许用户在一组选项中选择多个项目。本

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程