高效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 相关文章推荐
让Firefox支持event对象实现代码
Nov 07 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
jQuery网页右侧广告跟随滚动代码分享
Apr 20 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
原生js仿淘宝网商品放大镜效果
Feb 28 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
Sep 25 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 Http_Template_IT类库进行模板替换
2009/03/19 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
PHP中使用CURL发送get/post请求上传图片批处理功能
2018/10/15 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
javascript 动态生成私有变量访问器
2009/12/06 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
详解Vue.use自定义自己的全局组件
2017/06/14 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python获取apk文件URL地址实例
2013/11/01 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
python实现单向链表详解
2018/02/08 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
运动会入场词200字
2014/02/15 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
医院护士工作检讨书
2014/10/26 职场文书
2014年医生工作总结
2014/11/21 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
体育教师个人工作总结
2015/02/09 职场文书
法学专业求职信范文
2015/03/19 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
准备去美国留学,那么大学申请文书应该怎么写?
2019/08/12 职场文书