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中获取选中对象的类型
Apr 02 Javascript
商城常用滚动的焦点图效果代码简单实用
Mar 28 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
Sep 24 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
Oct 04 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
Nov 25 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
js实现Tab选项卡切换效果
Jul 17 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
vue项目打包后怎样优雅的解决跨域
May 26 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 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP pear安装配置教程
2016/05/14 PHP
html读出文本文件内容
2007/01/22 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
2009/11/02 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
node.js中的path.isAbsolute方法使用说明
2014/12/08 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
vue-resource post数据时碰到Django csrf问题的解决
2020/03/13 Javascript
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
Python读csv文件去掉一列后再写入新的文件实例
2017/12/28 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
CSS3 实现弹幕的示例代码
2017/08/07 HTML / CSS
教师演讲稿范文
2014/01/08 职场文书
经销商培训邀请函
2014/01/21 职场文书
简历中的自我评价怎么写
2014/01/29 职场文书
保安队长职务说明书
2014/02/23 职场文书
农林环境专业求职信
2014/03/13 职场文书
六一儿童节主持词
2014/03/21 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
国家助学金感谢信
2015/01/21 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书