热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jQuery常用的功能有哪些

本篇内容介绍了“jQuery常用的功能有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何

本篇内容介绍了“jQuery常用的功能有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

下面这些简单的小技巧能够帮助你玩转jQuery。

  • 返回顶部按钮

  • 预加载图像

  • 检查图像是否加载

  • 自动修复破坏的图像

  • 悬停切换类

  • 禁用输入字段

  • 停止加载链接

  • 切换淡入/幻灯片

  • 简单的手风琴

  • 让两个div高度相同

  • 在新标签页/窗口打开外部链接

  • 通过文本查找元素

  • 在改变visibility时触发

  • AJAX调用错误处理

  • 链式插件调用

jQuery常用的功能有哪些

通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画:

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

改变scrollTop 的值可以更改你想要放置滚动条的位置。所有你真正需要做的是在800毫秒的时间内设置文档主体的动画,直到它滚动到文档的顶部。

注:小心scrollTop的一些错误行为。

预加载图像

如果你的网页要使用大量开始不可见的(例如,悬停的)图像,那么可以预加载这些图像:

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

检查图像是否加载

有时为了继续脚本,你可能需要检查图像是否全部加载完毕:

$(&#39;img&#39;).load(function () {   console.log(&#39;image load successful&#39;); });

你也可以用ID或类替换标签来检查某个特定的图像是否被加载。

自动修复破坏的图像

逐个替换已经破坏的图像链接是非常痛苦的。不过,下面这段简单的代码可以帮助你:

$(&#39;img&#39;).on(&#39;error&#39;, function () {   if(!$(this).hasClass(&#39;broken-image&#39;)) {     $(this).prop(&#39;src&#39;, &#39;img/broken.png&#39;).addClass(&#39;broken-image&#39;);   } });

即使没有任何断掉的链接,加上这一段代码也不会让你有任何损失。

悬停切换类

假设你希望当用户将鼠标悬停在可点击的元素上时,它会改变颜色。那么你可以在用户悬停的时候添加类到元素中,反之则删除类:

$(&#39;.btn&#39;).hover(function () {   $(this).addClass(&#39;hover&#39;); }, function () {   $(this).removeClass(&#39;hover&#39;); });

你只需要添加必要的CSS即可。更简单的方法是使用toggleClass 方法:

$(&#39;.btn&#39;).hover(function () {   $(this).toggleClass(&#39;hover&#39;); });

注:可能在这种情况下,CSS这种解决方案更快,不过了解这个方法很有必要。

禁用输入字段

有时候,你可能想要禁用表格的提交按钮或它的某一项文字输入直到用户执行了特定操作(例如,勾选“我已阅读相关条款”复选框)。添加 disabled属性到你的输入就可以在你想要的时候才启用它:

$(&#39;input[type="submit"]&#39;).prop(&#39;disabled&#39;, true);

然后你只需要运行输入的prop 方法就可以了,不过disabled 的值要设置为false:

$(&#39;input[type="submit"]&#39;).prop(&#39;disabled&#39;, false);

停止加载链接

有时候,你既不需要链接到某个特定的网页,也不想要重新加载页面——你可能希望链接做点别的事情,例如说触发一些其他脚本。这就要在阻止默认动作上做文章了:

$(&#39;a.no-link&#39;).click(function (e) {   e.preventDefault(); });

淡入/滑动切换

滑动和淡入都是我们用jQuery做动画的时候大量运用的东西。如果你只是想在用户点击之后展示一个元素的话,那么用fadeIn 和slideDown 方法就很***。但是,如果你想要元素在***次点击的时候出现,然后在第二次点击的时候消失的话,那么可以试试下面的代码:

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

简单的手风琴

这是一个可快速生成手风琴的简单方法:

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

通过添加这个脚本,你真正需要做的仅仅是在页面上添加必要的HTML元素,这样它就可以运行工作了。

让两个div高度相同

有时候,你需要让两个div无论包含什么内容都拥有相同的高度:

$(&#39;.div&#39;).css(&#39;min-height&#39;, $(&#39;.main-div&#39;).height());

设置 min-height,这意味着它可以比主div大但绝对不能比主div小。不过,还有一种更灵活的方法是遍历一组元素,然后将高度设置为***的那个元素的高度:

var $columns = $(&#39;.column&#39;); var height = 0; $columns.each(function () {   if ($(this).height() > height) {     height = $(this).height();   } }); $columns.height(height);

如果你希望所有列的高度相同:

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

在新标签页/窗口打开外部链接

在一个新的浏览器tab或窗口中打开外部链接,并确保同一个来源的链接能在同一个tab或者窗口中打开:

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

注意:window.location.origin 在IE10中无效。修复的时候要小心这个问题。

通过文本查找元素

通过使用jQuery中的contains() 选择器,你可以找到元素内容的文本。如果文本不存在,那就隐藏该元素:

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

在改变Visibility时触发

当用户不再关注某个tab,或重新聚焦原来的那个tab上时,触发Javascript:

$(document).on(&#39;visibilitychange&#39;, function (e) {   if (e.target.visibilityState === "visible") {     console.log(&#39;Tab is now in view!&#39;);   } else if (e.target.visibilityState === "hidden") {     console.log(&#39;Tab is now hidden!&#39;);   } });

AJAX调用错误处理

当Ajax调用返回404或500错误时,就执行错误处理程序。如果没有定义处理程序,其他的jQuery代码或会就此罢工。定义一个全局的Ajax错误处理程序:

$(document).ajaxError(function (e, xhr, settings, error) {   console.log(error); });

链式插件调用

jQuery允许“链式”插件的方法调用,以减轻反复查询DOM并创建多个jQuery对象的过程。比方说,下面的代码片段代表了你的插件方法调用:

$(&#39;#elem&#39;).show(); $(&#39;#elem&#39;).html(&#39;bla&#39;); $(&#39;#elem&#39;).otherStuff();

通过使用链式,可以大大改善:

$(&#39;#elem&#39;)   .show()   .html(&#39;bla&#39;)   .otherStuff();

还有一种方法是在(前缀$)变量中高速缓存元素:

var $elem = $(&#39;#elem&#39;); $elem.hide(); $elem.html(&#39;bla&#39;); $elem.otherStuff();

“jQuery常用的功能有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


推荐阅读
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 在编写业务代码时,常常会遇到复杂的业务逻辑导致代码冗长混乱的情况。为了解决这个问题,可以利用中间件模式来简化代码逻辑。中间件模式可以帮助我们更好地设计架构和代码,提高代码质量。本文介绍了中间件模式的基本概念和用法。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • 本文介绍了使用FormData对象上传文件同时附带其他参数的方法。通过创建一个表单,将文件和参数添加到FormData对象中,然后使用ajax发送POST请求进行文件上传。在发送请求时,需要设置processData为false,告诉jquery不要处理发送的数据;同时设置contentType为false,告诉jquery不要设置content-Type请求头。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
  • 本文实例讲述了Android编程实现读取工程中的txt文件功能。分享给大家供大家参考,具体如下:1.众所周知,Android的res文件夹 ... [详细]
author-avatar
zht1120
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有