二维码弹出叠加效果
2016-07-12 00:00
465 查看
摘要: 鼠标移动到到某个图文区域,自动弹出二维码覆盖该区域;鼠标移开,二维码自动隐藏。
主要是利用
HTML结构如下:
CSS定义如下:
架子已搭好,可以绑定鼠标事件了:
主要是利用
mouseover事件,进行元素和边界判定,从而自动弹出或隐藏二维码。
HTML结构如下:
<ul class="tuijian"> <li> <img src="abc.jpg"> <div class="ewm"><img src="qrcode.png"></div> <h3>abc图片描述</h3> <h4>更多的文字描述</h4> </li> <!-- 以下结构相同,省略 --> </ul>
CSS定义如下:
.tuijian { margin-top: 20px; margin-left: -6px; padding: 0 20px; white-space: nowrap; overflow: hidden; } .tuijian>li { display: inline-block; } .tuijian>li+li { margin-left: 12px; } .tuijian>li>img { width: 236px; height: 236px; } .tuijian>li>h3 { margin-top: 16px; margin-bottom: 16px; width: 236px; overflow: hidden; text-overflow: ellipsis; padding: 0; font-size: 18px; font-weight: normal; } .tuijian>li>h4 { margin-top: 0; margin-bottom: 0; padding: 0; font-size: 16px; font-weight: normal; color: #666; } .tuijian .ewm { display: none; position: absolute; margin-top: -236px; width: 236px; height: 236px; padding: 18px 17px; background-color: rgba(0, 0, 0, .4); } .tuijian .ewm>img { width: 200px; height: 200px; }
架子已搭好,可以绑定鼠标事件了:
$('.tuijian').on('mouseover', function (e) { var tn = e.target.tagName; if (0 > ['UL', 'LI', 'IMG', 'DIV'].indexOf(tn)) return; // 尽可能减少判定次数 var tc = e.target.className, pc = e.target.parentNode.className; if (tn === 'IMG') { // show $(e.target).siblings('.ewm').slideDown('fast'); } else if (tc !== 'ewm' && pc !== 'ewm') { // hide $('.ewm').slideUp('fast'); } });
相关文章推荐
- as3 rollOver or mouseOver使用说明
- php生成QRcode实例
- jQuery qrcode生成二维码的方法
- 关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
- jQuery中hover与mouseover和mouseout的区别分析
- 使用jquery.qrcode生成彩色二维码实例
- jquery插件qrcode在线生成二维码
- 经过绑定元素时会多次触发mouseover和mouseout事件
- asp.net(C#)使用QRCode生成图片中心加Logo或图像的二维码实例
- 鼠标经过子元素触发mouseout,mouseover事件的解决方案
- JS中mouseover和mouseout多次触发问题如何解决
- javascript中mouseover、mouseout使用详解
- PHP下通过QRCode类库创建中间带网站LOGO的二维码
- 分享Python文本生成二维码实例
- Python二维码生成库qrcode安装和使用示例
- 基于mouseout和mouseover等类似事件的冒泡问题解决方法
- java 生成二维码并以流形式输出显示到页面上
- jQuery qrcode生成二维码的方法
- 使用jquery.qrcode生成二维码