jQuery实现的Div窗口震动效果实例


Posted in Javascript onAugust 07, 2015

本文实例讲述了jQuery实现的Div窗口震动效果。分享给大家供大家参考。具体如下:

这是一款jQuery窗口震动效果代码,在Div边框内点击一下鼠标,它就开始震动了,适用浏览器:IE8、360、FireFox、Chrome、Opera、傲游、搜狗、世界之窗等。

运行效果截图如下:

jQuery实现的Div窗口震动效果实例

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>jquery窗口震动特效</title>
<script type="text/javascript" src="jquery-1.6.2.min.js"></script>
<script type="text/javascript">
;(function($){
 var element = {};
 $.fn.jshaker = function(){
  element = $(this);
  element.css('position', 'relative');
  element.find('*').each(function(i, el){
   $(el).css('position', 'relative');
  });
 var iFunc = function(){ $.fn.jshaker.animate($(element)); };
 setTimeout(iFunc, 50);
 };
 $.fn.jshaker.animate = function(el){
  $.fn.jshaker.shake(el);
 el.find('*').each(function(i, el){
  $.fn.jshaker.shake(el);
 }); 
 var iFunc = function(){ $.fn.jshaker.animate(el); };
 setTimeout(iFunc, 50);
 }
 $.fn.jshaker.shake = function(el){
 var pos = $(el).position();
 if(Math.random() > 0.5){
  $(el).css('top', pos['top'] + Math.random() * 20 < 10 ? (Math.random() * 20 * (-1)) : Math.random() * 20);
 } else {
  $(el).css('left', pos['left'] + Math.random() * 20 < 10 ? (Math.random() * 20 * (-1)) : Math.random() * 20);
 }
 }
})(jQuery);
</script>
<script type="text/javascript">
 $(document).ready(function(){
  $('.block').click(function(){
  $(this).jshaker();
  });
 });
</script>
<style type="text/css">
BODY{font-family: "Lucida Grande", Arial, Helvetica, sans-serif;color: #666666;font-size: 12px;background: #FFFFFF;}
A{color: #0A8ECC;}
A: HOVER{text-decoration: none;color: #8FCB2F;}
H1{font-weight: normal;color: #0A8ECC;margin: 0;padding: 0;}
BODY{margin: 20px;padding: 20px;}
STRONG{color: #000000;}
.vspacer{height: 20px;}
PRE.code{padding: 7px;background: #777777;color: #F0F0F0;width: 400px;overflow: auto;}
#content-area{border: 3px solid #CCCCCC;background: #F0F0F0;padding: 10px;width: 500px;}
P.script-link{clear: both;padding: 10px 0;border-top: 1px dotted #CCCCCC;}
#content .block {float: left;border: 1px solid #CCCCCC;background: #F0F0F0;padding: 10px;margin: 10px;width: 300px;}
</style>
</head>
<body>
 <div id="page">
 <h1>jquery窗口震动特效</h1>
 <div id="content">
  <div class="block">
  <p>点击本框内,可实现震动。。</p>
  <ul>
   <li>Item 1</li>
   <li>Item 2</li>
   <li>
   Item 3
   <ul>
    <li>Sub Item 1</li>
    <li>Sub Item 2</li>
    <li>Sub Item 3</li>
    <li>Sub Item 4</li>
    <li>Sub Item 5</li>
   </ul>
   </li>
   <li>Item 4</li>
   <li>Item 5</li>
  </ul>
  </div>
  <div class="block">
  <form action="#">
   <p><label for="inp1">Text Field 1:</label><input type="text" name="inp1" id="inp1" value="" /></p>
   <p><label for="inp2">Text Field 2:</label><input type="text" name="inp2" id="inp2" value="" /></p>
   <p><button type="submit">Submit</button></p>
  </form>
  </div>
 </div>
 <p class="script-link">
 </p>
 </div>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
jQuery的attr与prop使用介绍
Oct 10 Javascript
用js来刷新当前页面保留参数的具体实现
Dec 23 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
May 27 Javascript
javascript中call,apply,bind的用法对比分析
Feb 12 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
Apr 26 Javascript
详解vue父子模版嵌套案例
Mar 04 Javascript
ES6中Symbol类型用法实例详解
Apr 06 Javascript
jquery实现企业定位式导航效果
Jan 01 jQuery
详解Vue2.0配置mint-ui踩过的那些坑
Apr 23 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 #Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 #Javascript
jQuery基于ajax实现星星评论代码
Aug 07 #Javascript
jQuery实现网页抖动的菜单抖动效果
Aug 07 #Javascript
jQuery实现高亮显示网页关键词的方法
Aug 07 #Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
Aug 07 #Javascript
css如何让浮动元素水平居中
Aug 07 #Javascript
You might like
使用php来实现网络服务
2009/09/15 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JS制作类似选项卡切换的年历
2016/12/03 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
在python中修改.properties文件的操作
2020/04/08 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
小车司机岗位职责
2013/11/25 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
毕业生个人自荐书
2015/03/05 职场文书
php+laravel 扫码二维码签到功能
2021/05/15 PHP
Window server中安装Redis的超详细教程
2021/11/17 Redis
vue实现移动端div拖动效果
2022/03/03 Vue.js
在 Python 中利用 Pool 进行多线程
2022/04/24 Python