小白书写Jquery小动画踩的坑

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>动态添加图片</title>
 6         <style>
 7             *{margin:0;padding:0;}
 8             .box {
 9                 width:660px;
10                 height:660px;
11                 border:1px solid black;
12                 margin:auto;
13             }
14             .box .picbox {
15                 width:200px;
16                 height:240px;
17                 float:left;
18                 margin:10px;
19                 background-color:#eee;
20                 text-align:center;
21                 position:relative;
22             }
23             .box .picbox img {
24                 width:180px;
25                 height:180px;
26                 margin:10px;
27             }
28             .box .picbox .mask {
29                 width:180px;
30                 height:180px;
31                 line-height:180px;
32                 text-align:center;
33                 position:absolute;
34                 left:10px;
35                 top:10px;
36                 background-color:#777;
37                 opacity:0.4;
38                 display:none;
39             }
40         </style>
41         <script src="http://code.jquery.com/jquery-latest.js"></script>
42         <script>
43             $(function(){
44                 //JSON传入图片,改变JSON即可改变图片个数
45                 var json={"图片一":"img/1.jpg","图片二":"img/2.jpg","图片三":"img/3.jpg","图片四":"img/4.jpg","图片五":"img/5.jpg","图片六":"img/6.jpg"};
46                 var str="";
47                 //字符串str生成整个图片盒子的标签
48                 for(var key in json){
49                     str+="<div class=‘picbox‘>";
50                     str+="    <img src=‘"+json[key]+"‘ alt=‘‘/>";
51                     str+="    <span>"+key+"</span>"
52                     str+="    <div class=‘mask‘>";
53                     str+="        <p>"+key+"</p>";
54                     str+="  </div>";
55                     str+="</div>";
56                 }
57                 //将生成的元素放到一个类名为box的盒子中。
58                 $(".box").append(str);
59                 //重点部分,鼠标触发事件,然后执行动画,重点在于触发事件元素的选择
60                 $(".picbox img").mouseover(function(){
61                     $(this).siblings(".mask").slideDown();
62                 });
63                 $(".picbox .mask").mouseout(function(){
64                     $(this).slideUp();
65                 });
66             });
67         </script>
68     </head>
69     <body>
70         <div class="box"></div>
71     </body>
72 </html>

近日看了下Jquery的基础知识,对常用的Jquery方法有了个大致了解,想写个通过Jquery动态生成图片,并且当鼠标放在图片上面的时候还有一个面罩从上往下滑下来,当鼠标离开的时候面罩又会划上去的的小特效练习一下。这是一个很简单的小dom,稍微有点基础的人都可以很快的写出来,不过新手有一个小问题要注意一下,新手在选择鼠标经过和离开的触发事件的元素的时候很容易两次都选择图片。这样会造成一个问题,就是当鼠标放在图片上面的时候,就算鼠标不离开图片,也会出现面罩下拉出现,然后再上拉消失的效果,并且一直循环。这是因为当鼠标进入图片时触发了slideDown,这时候遮罩层display:block,图片位于遮罩层下面,鼠标选中的就是遮罩层而不是图片,此时触发了slideUp,当遮罩层消失时鼠标又重新选择到了图片,又触发slideDown,反复这样,所以会出现反复上下拉。解决方法:可以把mouseleave事件绑定给遮罩层。

由于图片路径问题,可能复制源代码无法看到图片,想看效果的可以自己引入正确的图片路径。第一次写博客,有不足的地方请指教。

原文地址:https://www.cnblogs.com/lvyuqing/p/9091077.html

时间: 2024-10-27 19:01:56

小白书写Jquery小动画踩的坑的相关文章

【百度小程序】细数百度小程序踩的坑

最近接触百度小程序挺多,开发了几个产品,都快被百度的小程序折磨死.真的是不想吐槽了,接下来我就讲讲我遇到的坑与一些经验. 1. s-for 这个for循环的写法为 s-for='arr' 或者 s-for = 'item,index in arr' .这些到没什么,主要是s-for不能循环常数...这让我从微信小程序转到百度小程序不太习惯...官方回应说什么底层diff差异哦,后面会修复.不知道现在修复好没. 2. 自定义组件之命名与路径 引用组件的时候,在json文件中,usingCompon

小程序踩坑之旅

小程序踩坑之旅 —— 分包 小程序踩坑之旅 —— 分享 小程序踩坑之旅 —— 页面路由 小程序踩坑之旅 —— canvas 原文地址:https://www.cnblogs.com/xxhuan/p/11334792.html

前端程序员应该知道的 15 个 jQuery 小技巧

下面这些简单的小技巧能够帮助你玩转jQuery. 返回顶部按钮 预加载图像 检查图像是否加载 自动修复破坏的图像 悬停切换类 禁用输入字段 停止加载链接 切换淡入/幻灯片 简单的手风琴 让两个div高度相同 在新标签页/窗口打开外部链接 通过文本查找元素 在改变Visibility时触发 AJAX调用错误处理 链式插件调用 返回顶部按钮 通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画: // Back to top $('.top'

jQuery之动画效果show()......animate()

jQuery之动画效果 1.show()显示效果 语法:show(speed,callback) Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow","normal","fast" callback可选,为当动画完成时执行的函数.   show(speed,[easing],callback) Number/String easing默认是swing,可选linear; $("#div1&qu

jquery的动画效果

序言:昨天复习了jQuery的一些事件,今天我打算继续来复习jQuery的动画效果. 用于写一些网页特效:渐变菜单,渐变显示,图片轮播等. 首先当然得引入插件:<script src="jquery/jquery-1.11.1.js"></script> 1.简单的HTML代码 <input type="button" value="show" id="btn1"/><input ty

程序员都会的 35 个 jQuery 小技巧

收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 禁止右键点击 1 $(document).ready(function(){ 2 $(document).bind("contextmenu",function(e){ 3 return false; 4 }); 5 }); 2. 隐藏搜索文本框文字 1 Hide when clicked in the search field, the value.(example can be found below in t

必须学会使用的35个Jquery小技巧

query 与JS相比较,方便了许多,语法上也简便了不少,下面是Jquery常用的技巧,下面Jquery使用的方法在各个网站中都会使用到. 收集的35个 jQuery 小技巧/代码片段,可以帮你快速开发. 1. 禁止右键点击 1 2 3 4 5 $(document).ready(function(){     $(document).bind("contextmenu",function(e){         return false;     }); }); 2. 隐藏搜索文本框

15个jQuery小技巧

下面这些简单的小技巧能够帮助你玩转jQuery. 1.返回顶部按钮 通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画: // Back to top $('.top').click(function (e) { e.preventDefault(); $('html, body').animate({scrollTop: 0}, 800); }); <!-- Create an anchor tag --> <a class=

7款基于jquery的动画搜索框

无论是电商网站,还是媒体网,还是个人博客,每个网站都有属于自己个性化的搜索框.今天小编给大家带来7款基于jquery的动画搜索框.每个搜索框都采用了动画效果,一起看下效果图吧. 在线预览   源码下载 实现的代码. html代码: <h1> CSS Animated Search Boxes</h1> <p> (with occasional help from javascript to assign focus)</p> <div class=&q