高效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 相关文章推荐
JavaScript取得鼠标绝对位置程序代码介绍
Sep 16 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
May 19 Javascript
JavaScript中检测变量是否存在遇到的一些问题
Nov 11 Javascript
jQuery自带的一些常用方法总结
Sep 03 Javascript
实例讲解javascript注册事件处理函数
Jan 09 Javascript
jQuery获取checkbox选中的值
Jan 28 Javascript
jquery仿京东侧边栏导航效果
Mar 02 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 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扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
Jquery Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
2010/03/18 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
jquery如何判断表格同一列不同行input数据是否重复
2014/05/14 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
Python异常处理例题整理
2019/07/07 Python
学习和使用python的13个理由
2019/07/30 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
Python如何实现的二分查找算法
2020/05/27 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
阿拉伯书店:Jamalon
2019/07/24 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
英国时尚首饰品牌:Missoma
2020/06/29 全球购物
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
2015公务员试用期工作总结
2014/12/12 职场文书
求职自荐信怎么写
2015/03/04 职场文书