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 相关文章推荐
利用javascript数组长度循环数组内所有元素
Dec 27 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
js倒计时显示实例
Dec 11 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
Sep 29 Javascript
jquery ajax 请求小技巧实例分析
Nov 11 jQuery
vue实现用户长时间不操作自动退出登录功能的实现代码
Jul 23 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
Aug 17 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
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
JS设置网页图片vspace和hspace属性的方法
2015/04/01 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python实现ID3决策树算法
2017/12/20 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
幼儿园安全检查制度
2014/01/30 职场文书
求职毕业生自荐书
2014/02/08 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
企业读书活动总结
2014/06/30 职场文书
个人查摆剖析材料
2014/10/04 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
2014年业务工作总结
2014/11/17 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
基层党支部承诺书
2015/04/30 职场文书
老兵退伍感言
2015/08/03 职场文书