1. html
代码如下 | 复制代码 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/> <title>Animated Menu Hover 1</title>
<scripttype="text/javascript"src="http://www.webdesignerwall.com/demo/jquery/jquery.js"></script>
<scripttype="text/javascript"> $(document).ready(function(){ $(".menu li").hover(function() { $(this).find("em").animate({opacity: "show", top: "-75"}, "slow"); }, function() { $(this).find("em").animate({opacity: "hide", top: "-85"}, "fast"); }); }); </script>
<styletype="text/css"> body { margin: 10px auto; width: 570px; font: 75%/120% Arial, Helvetica, sans-serif; } .menu { margin: 100px 0 0; padding: 0; list-style: none; } .menu li { padding: 0; margin: 0 2px; float: left; position: relative; text-align: center; } .menu a { padding: 14px 10px; display: block; color: #000000; width: 144px; text-decoration: none; font-weight: bold; background: url('http://files.jb51.net/file_images/article/201703/button.gif') no-repeat center center; } .menu li em { background: url('http://files.jb51.net/file_images/article/201703/hover.jpg') no-repeat; width: 180px; height: 45px; position: absolute; top: -85px; left: -15px; text-align: center; padding: 20px 12px 10px; font-style: normal; z-index: 2; display: none; } </style> </head>
<body>
<ulclass="menu"> <li> <ahref=http://www.jb51.netrel="external nofollow">Web Designer Wall</a> <em>A wall of design ideas, web trends, and tutorials</em> </li> <li> <ahref="http://<u><fontcolor="#0066cc">www.jb51.net</font></u>" rel="external nofollow" >Best Web Gallery</a>
<em>Featuring the best CSS and Flash web sites</em> </li> <li> <ahref="http://<u><fontcolor="#0066cc">www.jb51.net</font></u>" rel="external nofollow" >N.Design Studio</a> <em>Blog and design portfolio of WDW designer, Nick La</em> </li> </ul>
</body> </html> |
2. js
代码如下 | 复制代码 |
<script type="text/javascript"> $(document).ready(function(){ $(".menu li").hover(function() { $(this).find("em").animate({opacity:"show", top:"-75"},"slow"); },function() { $(this).find("em").animate({opacity:"hide", top:"-85"},"fast"); }); }); </script> |
3. 效果图
本文介绍了Bootstrap模态框(Modal)实现过渡效果的教程,非常实用,有兴趣的同学快来看看吧可以切换模态框(Modal)插件的隐藏内容:
1、通过 data 属性:在控制器元素(比如按钮或者链接)上设置属性 data-toggle="modal",同时设置 data-target="#identifier" 或 href="#identifier" rel="external nofollow" 来指定要切换的特定的模态框(带有 id="identifier")
2、通过 JavaScript:使用这种技术,您可以通过简单的一行 JavaScript 来调用带有 id="identifier" 的模态框:
$('#identifier').modal(options)
代码:
代码如下 | 复制代码 |
<!DOCTYPE html> <html> <head> <title>Bootstrap-模态框Modal</title> <metacharset="utf-8"> <linkrel="stylesheet"href="css/bootstrap.min.css"rel="external nofollow"> </head> <body> <divclass="container"> <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <buttonclass="btn btn-primary btn-lg"data-toggle="modal"data-target="#myModal">开始演示模态框</button> <!-- 模态框(Modal) --> <divclass="modal fade"id="myModal"tabindex="-1"role="dialog"aria-labelledby="myModalLabel"aria-hidden="true"> <divclass="modal-dialog"> <divclass="modal-content"> <divclass="modal-header"> <buttontype="button"class="close"data-dismiss="modal"aria-hidden="true">×</button> <h4class="modal-title"id="myModalLabel"> 模态框(Modal)标题 </h4> </div> <divclass="modal-body"> 在这里添加一些文本 </div> <divclass="modal-footer"> <buttontype="button"class="btn btn-default"data-dismiss="modal">关闭</button> <buttontype="button"class="btn btn-primary">提交更改</button> </div> </div><!-- /.modal-content --> </div><!-- /.modal --> </div> <scriptsrc="js/jquery.min.js"></script> <scriptsrc="js/bootstrap.min.js"></script> </body> </html> |
注:
aria-labelledby="myModalLabel" aria-hidden="true"
官方API 意思是为盲人或者一些可读设备设置的 role的设置告诉设备这是弹出框 aria-labelledby=".."里面是描述信息,然后aria-hidden="true"再把它隐藏掉,一般人用不到,这样写比较规范
增强模态框的可访问性
务必为 .modal 添加 role="dialog" 和 aria-labelledby="..." 属性,用于指向模态框的标题栏;为 .modal-dialog 添加 aria-hidden="true" 属性。
另外,你还应该通过 aria-describedby 属性为模态框 .modal 添加描述性信息。
效果图
最近项目需要,需要对客户传过来的文件进行MD5校验,在实现的过程中前前后后遇到了若干问题,在这里总结一下。
md5的计算采用openssl实现,具体代码网上很多,这里不再赘述。需要注意的问题
1 读取文件内容时,文件打开方式要用二进制方式(rb),因为用户文件有可能是linux格式,如果用文本方式打开,可能会改变原始的内容,造成计算不准。
2 结果检验。windows可以随便下载一个md5计算工具,网上很多,我用的是HashMyFiles。linux下面,md5sum 文件名 即可。
还有一个隐藏得问题需要注意,我们在这里好一阵郁闷。
程序编写完毕,再windows测试都通过了,把文件上传到linux,再运行程序,居然算出来的md5哈希和windows不一样。
经过一阵跟踪、断点、打印发现,文件上传到linux后,大小居然发生了变化,原来问题出在ftp,ftp上传得过程中采用了文本模式,会把文件中换行回车替换为换行。于是重新用二进制模式上传,计算结果一致,问题解决。
总结一下:文件打开读取要用二进制方式,文件传输也要用二进制方式。
本文介绍了查看import的类是出自哪个jar包的方法,非常实用,有兴趣的同学可以参考一下
代码如下 | 复制代码 |
publicstaticvoidmain(String[] args) { ProtectionDomain pd = StringUtils.class.getProtectionDomain(); CodeSource cs = pd.getCodeSource(); System.out.println(cs.getLocation()); } |
打印出:file:/D:/work_ser_demo/springtest/WebContent/WEB-INF/lib/commons-lang-2.4.jar