高效Web开发的10个jQuery代码片段


Posted in Javascript onJuly 22, 2016

在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库。今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来。 

1、检测Internet Explorer版本 
当涉及到CSS设计时,对开发者和设计者而言Internet Explorer一直是个问题。尽管IE6的黑暗时代已经过去,IE也越来越不流行,它始终是一个能够容易检测的好东西。当然了,下面的代码也能用于检测别的浏览器。

$(document).ready(function() {
   if (navigator.userAgent.match(/msie/i) ){
    alert('I am an old fashioned Internet Explorer');
   }
});

2、平稳滑动到页面顶部
这是一个最广泛使用的jQuery效果:对一个链接点击下会平稳地将页面移动到顶部。这里没什么新的内容,但是每个开发者必须要会偶尔编写一下类似函数

$("a[href='#top']").click(function() {
 $("html, body").animate({ scrollTop: 0 }, "slow");
 return false;
});

3、固定在顶部
 非常有用的代码片段,它允许一个元素固定在顶部。对导航按钮、工具栏或重要信息框是超级有用的。

$(function(){
 var $win = $(window)
 var $nav = $('.mytoolbar');
 var navTop = $('.mytoolbar').length && $('.mytoolbar').offset().top;
 var isFixed=0;

 processScroll()
 $win.on('scroll', processScroll)

 function processScroll() {
 var i, scrollTop = $win.scrollTop()

 if (scrollTop >= navTop && !isFixed) { 
 isFixed = 1
 $nav.addClass('subnav-fixed')
 } else if (scrollTop <= navTop && isFixed) {
 isFixed = 0
  $nav.removeClass('subnav-fixed')
 }
}

4、用其他内容取代html标志
jQuery使得用另外一个东西取代html标志很简单。可以利用的余地无穷无尽。

$('li').replaceWith(function(){
 return $("<div />").append($(this).contents());
});

5、检测视窗宽度
 现在移动设备比过时的电脑更普遍,能够方便去检测一个更小的视窗宽度会很有帮助。幸运的是,用jQuery来做超级简单。

var responsive_viewport = $(window).width();

/* if is below 481px */
if (responsive_viewport < 481) {
  alert('Viewport is smaller than 481px.');
} /* end smallest screen */

6、自动定位并修复损坏图片 
如果你的站点比较大而且已经在线运行了好多年,你或多或少会遇到界面上某个地方有损坏的图片。这个有用的函数能够帮助检测损坏图片并用你中意的图片替换它,并会将此问题通知给访客。

$('img').error(function(){
 $(this).attr('src', 'img/broken.png');
});

7、检测复制、粘贴和剪切的操作
 
使用jQuery可以很容易去根据你的要求去检测复制、粘贴和剪切的操作。

$("#textA").bind('copy', function() {
  $('span').text('copy behaviour detected!')
}); 
$("#textA").bind('paste', function() {
  $('span').text('paste behaviour detected!')
}); 
$("#textA").bind('cut', function() {
  $('span').text('cut behaviour detected!')
});

8、遇到外部链接自动添加target=”blank”的属性
 当链接到外部站点时,你可能使用 target=”blank”的属性去在新界面中打开站点。问题在于target=”blank”属性并不是W3C有效的属性。让我们用jQuery来补 救:下面这段代码将会检测是否链接是外链,如果是,会自动添加一个target=”blank”属性。

var root = location.protocol + '//' + location.host;
$('a').not(':contains(root)').click(function(){
  this.target = "_blank";
});

9、在图片上停留时逐渐增强或减弱的透明效果
 另一个“经典的”代码,它要放到你的工具箱里,因为你会不时地要实现它。

$(document).ready(function(){
  $(".thumbs img").fadeTo("slow", 0.6); // This sets the opacity of the thumbs to fade down to 60% when the page loads

  $(".thumbs img").hover(function(){
    $(this).fadeTo("slow", 1.0); // This should set the opacity to 100% on hover
  },function(){
    $(this).fadeTo("slow", 0.6); // This should set the opacity back to 60% on mouseout
  });
});

10、在文本或密码输入时禁止空格键
 在很多表格领域都不需要空格键,例如,电子邮件,用户名,密码等等等。这里是一个简单的技巧可以用于在选定输入中禁止空格键。

$('input.nospace').keydown(function(e) {
 if (e.keyCode == 32) {
 return false;
 }
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 学习笔记 防止发生命名冲突
Jul 30 Javascript
Javascript 日期处理之时区问题
Oct 08 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
js中unicode转码方法详解
Oct 09 Javascript
详解JavaScript数组和字符串中去除重复值的方法
Mar 07 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
Angularjs 实现分页功能及示例代码
Sep 14 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
Feb 15 Javascript
vue嵌套路由与404重定向实现方法分析
May 04 Javascript
浅谈webpack SplitChunksPlugin实用指南
Sep 17 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
May 21 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 #Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 #Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
Jul 22 #Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 #Javascript
jQuery 更改checkbox的状态,无效的解决方法
Jul 22 #Javascript
Javascript字符串常用方法详解
Jul 21 #Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
Jul 21 #Javascript
You might like
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
jquery tools之tooltip
2009/07/25 Javascript
javascript在子页面中函数无法调试问题解决方法
2014/01/17 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
微信小程序使用第三方库Underscore.js步骤详解
2016/09/27 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
Python入门篇之数字
2014/10/20 Python
详解Django框架中的视图级缓存
2015/07/23 Python
python中lambda()的用法
2017/11/16 Python
通过Python 获取Android设备信息的轻量级框架
2017/12/18 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python实现的发邮件功能示例
2019/09/11 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
创业计划书六个要素
2013/12/26 职场文书
教师校本培训方案
2014/02/26 职场文书
小学六年级学生评语
2014/04/22 职场文书
应届大学生自荐书
2014/06/17 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
世界遗产的导游词
2015/02/13 职场文书
环保宣传语大全
2015/07/13 职场文书
python实现A*寻路算法
2021/06/13 Python
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏