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的Cookies
Jan 16 Javascript
js 获取子节点函数 (兼容FF与IE)
Apr 18 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
jQuery获取上传文件的名称的正则表达式
May 21 Javascript
javascript移动开发中touch触摸事件详解
Mar 18 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
Vue.use源码学习小结
Jun 20 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
Jul 01 Javascript
深入学习JavaScript 高阶函数
Jun 11 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 Javascript
JavaScript如何操作css
Oct 24 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实现网上点歌(二)
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
JavaScript 基础篇(一)
2012/03/30 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
基于Arcgis for javascript实现百度地图ABCD marker的效果
2015/09/12 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
JS控制只能输入数字并且最多允许小数点两位
2019/11/24 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
python实现飞机大战微信小游戏
2020/03/21 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
利用python为PostgreSQL的表自动添加分区
2021/01/18 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
洲际酒店集团英国官网:IHG英国
2019/07/10 全球购物
普师专业个人自荐信范文
2013/11/26 职场文书
董事长岗位职责
2013/11/30 职场文书
怎样写演讲稿
2014/01/04 职场文书
好矿嫂事迹材料
2014/01/21 职场文书
社区维稳工作方案
2014/06/06 职场文书
企业管理标语
2014/06/10 职场文书
2014年教研员工作总结
2014/12/23 职场文书
新闻通讯稿范文
2015/07/22 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python