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 相关文章推荐
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
javascript日期操作详解(脚本之家整理)
Sep 05 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
完美解决axios跨域请求出错的问题
Feb 05 Javascript
详解npm 配置项registry修改为淘宝镜像
Sep 07 Javascript
跨域请求两种方法 jsonp和cors的实现
Nov 11 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
Feb 22 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 Javascript
Java 生成随机字符的示例代码
Jan 13 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
2011/03/28 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
vue项目实现多语言切换的思路
2020/09/17 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
浅谈Python 中整型对象的存储问题
2016/05/16 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
机电一体化自荐信
2013/12/10 职场文书
厂长助理岗位职责
2013/12/27 职场文书
绿化先进工作者事迹材料
2014/01/30 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
python缺失值填充方法示例代码
2022/12/24 Python