日常收藏的jquery技巧


Posted in Javascript onDecember 02, 2015

概述

 随着WEB2.0及 ajax思想在互联网上的快速发展传播,陆续出现了一些优秀的Js框架,其中比较著名的有Prototype、YUI、jQuery、mootools、 Bindows以及国内的JSVM框架等,通过将这些JS框架应用到我们的项目中能够使程序员从设计和书写繁杂的JS应用中解脱出来,将关注点转向功能需 求而非实现细节上,从而提高项目的开发速度。

 jQuery是继prototype 之后的又一个优秀的Javascript框架。它是由 John Resig 于 2006 年初创建的,它有助于简化 JavaScript™ 以及Ajax 编程。有人使用这样的一比喻来比较prototype和jQuery:prototype就像Java,而jQuery就像ruby. 它是一个简洁快速灵活的JavaScript框架,它能让你在你的网页上简单的操作文档、处理事件、实现特效并为Web页面添加Ajax交互。

它具有如下一些特点:

代码简练、语义易懂、学习快速、文档丰富。
jQuery是一个轻量级的脚本,其代码非常小巧,最新版的JavaScript包只有20K左右。
jQuery支持CSS1-CSS3,以及基本的xPath。
jQuery是跨浏览器的,它支持的浏览器包括IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+。
可以很容易的为jQuery扩展其他功能。

能将JS代码和HTML代码完全分离,便于代码和维护和修改。

插件丰富,除了jQuery本身带有的一些特效外,可以通过插件实现更多功能,如表单验证、tab导航、拖放效果、表格排序、DataGrid,树形菜单、图像特效以及ajax上传等。

jQuery的设计会改变你写JavaScript代码的方式,降低你学习使用JS操作网页的复杂度,提高网页JS开发效率,无论对于js初学者还是资深专家,jQuery都将是您的首选。
jQuery适合于设计师、开发者以及那些还好者,同样适合用于商业开发,可以说jQuery适合任何JavaScript应用的地方,可用于不同的Web应用程序中。

JQuery代码

/* 新窗口打开链接:JQuery filter attr
 * 禁止鼠标弹出右键菜单:DOM contextmenu
 * 回到页面顶端:DOM scrollTo
 * 动态更换Css样式表:JQuery filter Element Attribute
 * 调整页面字体大小: Css html.css parseFloat
 */
//确定DOM载入完成
$(document).ready(function () {
  /* 链接的href属性以http开头的都在新窗口打开链接 */
  // ^ 过滤器,属性:以特定字符串开始
  $("a[href ^='http']").attr("target", "_blank");
  /* 禁止鼠标右键 */
  //DOM的contextmenu是鼠标右键菜单
  $(document).bind("contextmenu", function (e) {
    alert(("No right-clicking!"));
    //不向下执行,也就是说右键菜单不出来
    return false;
  });
  /* 回到页面顶端 */
  //id="top" 的元素的click事件触发
  $('#top').click(function () {
    //回到页面顶端
    $(document).scrollTo(0, 500);
  });
  /* 动态更换页面的css样式表 */
  //用页面链接的href的值换掉了link标签的href属性值
  $("a.cssSwap").click(function(){
    $("link[rel=stylesheet]").attr("href",$(this).attr("rel"));
  });
  /* 页面字体大小的放大、缩小、还原 */
  //取得字体大小,在html标记下定义了font-size
  var originalFontSize = $("html").css("font-size");
  //恢复默认字体大小
  $(".resetFont").click(function () {
    $("html").css("font-size", originalFontSize);
    //JavaScript不向下执行
    return false;
  });
  //加大字体,某个元素的class定义为increaseFont
  $(".increaseFont").click(function () {
    //取得当前字体大小 后缀px,pt,pc
    var currentFontSize = $("html").css("font-size");
    //取得当前字体大小,parseFloat()转为float类型去除后缀
    var currentFontSizeNumber = parseFloat(currentFontSize);
    //新定义的字体大小
    var newFontSize = currentFontSizeNumber * 1.1;
    //重写样式表
    $("html").css("font-size", newFontSize);
    //JavaScript不向下执行
    return false;
  });
  //减小字体,某个元素的class定义为decreaseFont
  $(".decreaseFont").click(function () {
    //取得当前字体大小 后缀px,pt,pc
    var currentFontSize = $("html").css("font-size");
    //取得当前字体大小,parseFloat()转为float类型去除后缀
    var currentFontSizeNumber = parseFloat(currentFontSize);
    //重新定义字体大小
    var newFontSize = currentFontSizeNumber * 0.9;
    //重写样式表
    $("html").css("font-size", newFontSize);
    //JavaScript不向下执行
    return false;
  });
});

Html代码:

<!DOCTYPE html>
<meta charset="utf-8"/>
<html>
<head>
  <title>JQuery 有益的技巧</title>
  <!-- 默认样式表 -->
  <link type="text/css" rel="stylesheet" href="css/background-white.css"/>
  <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
  <script type="text/javascript" src="script/helpful-tricks.js"></script>
</head>
<body>
<header>
  <div><p>动态改变样式表</p>
    <a href="#" class="cssSwap" rel="css/background-blue.css">蓝色背景</a>
    <a href="#" class="cssSwap" rel="css/background-green.css">绿色背景</a>
    <a href="#" class="cssSwap" rel="css/background-yellow.css">黄色背景</a>
  </div>
  <br/>
  <div><p>调整字体大小</p>
    <a class="resetFont" href="#">重置字体大小</a>
    <a class="increaseFont" href="#">加大字体大小</a>
    <a class="decreaseFont" href="#">减小字体大小</a>
  </div>
</header>
<div><p>在新窗口打开链接</p>
  <a href="http://www.sina.com.cn">新浪</a><br/>
  <a href="http://www.sohu.com.cn">搜狐</a><br/>
  <a href="http://www.cnblogs.com">博客园</a><br/>
</div>
<div class="layout-bottom">
  <a id="top" href="#">回到页面顶端</a>
</div>
</body>
</html>

好了,以上所述就是小编给大家分享的jquery技巧,希望大家喜欢。

Javascript 相关文章推荐
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
Dec 11 Javascript
Jquery为a标签的href赋值实现代码
May 03 Javascript
利用js动态添加删除table行的示例代码
Dec 16 Javascript
用javascript读取xml文件读取节点数据
Aug 12 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
Mar 19 Javascript
浅谈jquery事件处理
Apr 24 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
Aug 17 Javascript
深入理解JavaScript中的尾调用(Tail Call)
Feb 07 Javascript
vue 修改 data 数据问题并实时显示的方法
Aug 27 Javascript
前端面试知识点目录一览
Apr 15 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
Apr 28 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
Dec 02 #Javascript
jquery密码强度校验
Dec 02 #Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 #Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 #Javascript
js实现继承的5种方式
Dec 01 #Javascript
6种javascript显示当前系统时间代码
Dec 01 #Javascript
基于jQuery实现网页打印功能
Dec 01 #Javascript
You might like
自动跳转中英文页面
2006/10/09 PHP
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
JS实现切换标签页效果实例代码
2013/11/01 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
用JS动态改变表单form里的action值属性的两种方法
2016/05/25 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
浅谈PDF.js使用心得
2018/06/07 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
2019/02/25 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
vuex的使用和简易实现
2021/01/07 Vue.js
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
python基于ID3思想的决策树
2018/01/03 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
opencv python如何实现图像二值化
2020/02/03 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
数控技校生自我鉴定
2014/03/02 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android