日常收藏的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 相关文章推荐
jquery的颜色选择插件实例代码
Oct 02 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
Mar 05 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
Dec 25 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
可恶的ie8提示缺少id未定义
Mar 20 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
JavaScript中数据结构与算法(四):串(BF)
Jun 19 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
关于layui表单中按钮自动提交的解决方法
Sep 09 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
坏狼的PHP学习教程之第2天
2008/06/15 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
jquery随机展示头像代码
2011/12/21 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
jquery创建并行对象或者合并对象的实现代码
2012/10/10 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
javascript常用的方法分享
2015/07/01 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
python标准算法实现数组全排列的方法
2015/03/17 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
windows系统下Python环境搭建教程
2017/03/28 Python
python中 logging的使用详解
2017/10/25 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
新闻记者实习自我鉴定
2013/09/19 职场文书
社会发展项目建议书
2014/08/25 职场文书
高老头读书笔记
2015/06/30 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
golang操作rocketmq的示例代码
2022/04/06 Golang
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js