高效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 相关文章推荐
JQuery 前台切换网站的样式实现
Jun 22 Javascript
JavaScript 异步方法队列链实现代码分析
Jun 05 Javascript
jquery miniui 教程 表格控件 合并单元格应用
Nov 25 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 Javascript
js 获取和设置css3 属性值的实现方法
May 06 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
Aug 28 Javascript
从js向Action传中文参数出现乱码问题的解决方法
Dec 29 Javascript
jQuery实用密码强度检测
Mar 02 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
vue router demo详解
Oct 13 Javascript
JavaScript高级函数应用之分时函数实例分析
Aug 03 Javascript
JavaScript实现新年倒计时效果
Nov 17 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
php中用foreach来操作数组的代码
2011/07/17 PHP
curl和libcurl的区别简介
2015/07/01 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
Angular5中状态管理的实现
2018/09/03 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
2018/11/23 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
职业教育毕业生求职信
2013/11/09 职场文书
护理专业应届毕业生推荐信
2013/11/15 职场文书
保洁主管岗位职责
2013/11/20 职场文书
军训自我鉴定
2014/01/22 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
就业协议书范本
2014/10/08 职场文书
大学学生个人总结
2015/02/15 职场文书
看雷锋电影观后感
2015/06/10 职场文书
LeetCode189轮转数组python示例
2022/08/05 Python