jquery常用的12个小功能


Posted in Javascript onJuly 22, 2016

jquery12个常用功能极好的,快来围观!

返回顶部
使用JQuery的animate和scrollTop方法可以创建简单地返回顶部的动画:

// Back to top
$('a.top').click(function (e) {
 e.preventDefault();
 $(document.body).animate({scrollTop: 0}, 800);
});

HTML中得有一个按钮:

<!-- Create an anchor tag -->
<a class="top" href="#">Back to top</a>

可以改变scrollTop的值来定位滚动条的位置。

图片预加载
如果页面使用了很多不是最初加载便可见的图片,有必要进行预加载:

$.preloadImages = function () {
 for (var i = 0; i < arguments.length; i++) {
 $('img').attr('src', arguments[i]);
 }
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');

判断图片是否完全加载
有时需要图片完全加载才能进行后面的操作,下面的这段脚本可以实现:

$('img').load(function () {
 console.log('image load successful');
});

你也可以通过带id或者class的img标签来判断某张特定的图片是否完全加载

自动修复损坏图片
如果图片损坏,可以用另外一张进行替换:

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

Hover状态的类切换
当用户的鼠标指针悬浮在一个可以点击的元素上时,你可以通过添加一个class改变它的视觉效果,鼠标指针离开该元素时,就移开刚刚添加的class:

$('.btn').hover(function () {
 $(this).addClass('hover');
 }, function () {
 $(this).removeClass('hover');
 });

一个更简单的方式是使用toggleClass:

$('.btn').hover(function () {
 $(this).toggleClass('hover');
});

Note: CSS may be a faster solution in this case but it's still worthwhile to know this.输入框的不可编辑
有时,你想要表单的提交按钮或者文本框变的不可编辑,直到用户完成某个特定的动作,通过修改input元素的disabled属性来实现:
$('input[type="submit"]').prop('disabled', true);
再次调用prop方法将disabled值改为false,就可以更改元素状态:
$('input[type="submit"]').prop('disabled', false);

停止链接加载
若你不想点击链接跳转到另一个页面或者重新加载页面,仅仅只想让它做点别的事情,如触发其它脚本,则需要阻止链接的默认行为:

$('a.no-link').click(function (e) {
 e.preventDefault();
});

Fade/Slide切换
Slideing 和 fading 是很常用的 JQuery 动画。如果你想要在用户产生点击事件时显示一个元素,可以用fadeIn或者slideDown,若要实现第一次点击显示元素而第二次点击隐藏元素的效果,可以参考下面的脚本:

// Fade
$('.btn').click(function () {
 $('.element').fadeToggle('slow');
});
// Toggle
$('.btn').click(function () {
 $('.element').slideToggle('slow');
});

简单地手风琴
下面的这段脚本可以简单实现手风琴效果:

// Close all panels
$('#accordion').find('.content').hide();
// Accordion
$('#accordion').find('.accordion-header').click(function () {
 var next = $(this).next();
 next.slideToggle('fast');
 $('.content').not(next).slideUp('fast');
 return false;
});

让两个Div等高
有时,需要让两个Div保持等高,而不管两个Div的内容如何:

$('.div').css('min-height', $(.main-div).height());
var $columns = $('.column');
var height = 0;
$columns.each(function () {
 if ($(this).height() > height) {
 height = $(this).height();
 }
});
$columns.height(height);

在上述的示例中,会循环一个元素集合,并将元素的高度设置成元素集合中高度最高的。若要所有 column 保持同样地高度,则可以这样:

var $rows = $('.same-height-columns');
$rows.each(function () {
 $(this).find('.column').height($(this).height());
});

在新的Tab/Window打开外链
在浏览器的新Tab/Window打开外链,并且在同一个Tab/Window打开同源的链接:

$('a[href^="http"]').attr('target','_blank');
$('a[href^="//"]').attr('target','_blank');
$('a[href^="'+window.location.origin+'"]').attr('target','_self');

Note: window.location.origin doesn't work in IE10. This fix takes care of the issue.
通过文本查找元素
利用 JQuery 的contains()选择器可以查找一个包含特定文本的元素,如果文本不存在,元素则隐藏:

var search = $('#search').val();
$('div:not(:contains("'+search+'"))').hide();

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

Javascript 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
javascript下利用arguments实现string.format函数
Aug 24 Javascript
javascript与cookie 的问题详解
Nov 11 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
Nov 21 Javascript
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
Nov 28 Javascript
javascript框架设计读书笔记之模块加载系统
Dec 02 Javascript
BootStrap selectpicker后台动态绑定数据的方法
Jul 28 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
Mar 05 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 Javascript
BootStrap 附加导航组件
Jul 22 #Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 #Javascript
Select下拉框模糊查询功能实现代码
Jul 22 #Javascript
jQuery Select下拉框操作小结(推荐)
Jul 22 #Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 #Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 #Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 #Javascript
You might like
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
php&amp;mysql 日期操作小记
2012/02/27 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
php中文验证码实现示例分享
2014/01/12 PHP
php里array_work用法实例分析
2015/07/13 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
childNodes.length与children.length的区别
2009/05/14 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
运动会通讯稿400字
2014/01/28 职场文书
小学校园活动策划
2014/01/30 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
教师考察材料范文
2014/06/03 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
2014年党建工作总结
2014/11/11 职场文书
2014年商场工作总结
2014/11/22 职场文书
Python合并pdf文件的工具
2021/07/01 Python
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL