美文网首页
jQuery常用功能小技巧

jQuery常用功能小技巧

作者: 守心向暖 | 来源:发表于2017-05-15 15:32 被阅读0次

原文地址:http://www.cnblogs.com/whitewolf/p/4982425.html

  • 回到顶部
    利用jQuery里的animate和scrollTop方法,创建简单的滚动到顶部动画。
    通过scrollTop的值来改变想要滚动到的位置。
<a class="top" href="#">回到顶部</a>
$('.top').click(function (e) {
    e.preventDefault();
    $('html, body').animate({scrollTop: 0}, 800); //在800毫秒内让页面滚动到文档的顶部
});
  • 图片预加载
    如果网页使用了很多隐藏图片,图片的预加载是有意义的。
$.preloadImages = function () {
    for (var i = 0; i < arguments.length; i++) {
      $('<img>').attr('src', arguments[i]);
    }
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');
  • 判断图片是否加载完成
    有时候可能需要检查图像是否已经加载完成,以便于继续执行相应js代码。
$('img').load(function () {
  console.log('image load successful');
});
// 检查特定图片是否加载完成使用带有id或者class的<img>标签代替。
  • 自动修补破损图像
    修复破损的图像链接,如果没有任何断开的链接,加入以下代码也不会有任何影响。
$('img').on('error', function () {
    if(!$(this).hasClass('broken-image')) {
      $(this).prop('src', 'img/broken.png').addClass('broken-image');
    }
});
  • Hover切换class
    当用户将鼠标悬停在页面上的元素时,改变其视觉效果。可以在悬停元素上添加一个class,移除悬停焦点时删除此class:
$('.btn').hover(function () {
  $(this).addClass('hover');
}, function () {
  $(this).removeClass('hover');
});
// 更简单的方式是实用toggleClass方法,仅需要添加必要的css:
$('.btn').hover(function () {
  $(this).toggleClass('hover');
});
  • 禁用输入
    有时需要禁用表单的提交按钮或者某个输入框直到用户执行了某个动作(如:检查“我已阅读条款”复选框)。
// 在输入框上设置disabled属性,当需要的时候启用该属性:
$('input[type="submit"]').prop('disabled', true);
// 启用设置:
$('input[type="submit"]').prop('disabled', false);
  • 停止正在加载的链接
    当不想链接到特定的网页或者重新载入页面或做一些其他的事情,如触发一些其他的脚本。这是防止违约行动的技巧。
$('a.no-link').click(function (e) {
    e.preventDefault();
});
  • toggle fade/slide
    滑动和淡入淡出 仅想在用户做某些点击事件的时候显示一个元素,这时候需要淡入淡出或者滑动方法,但是如果需要某个元素在第一次点击的时候出现,第二次点击的时候消失,代码如下:
// 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').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);
// 所有列具有相同高度
var $rows = $('.same-height-columns');
$rows.each(function () {
    $(this).find('.column').height($(this).height());
});
  • 在浏览器标签/新窗口打开外部链接
    在新的浏览器标签或窗口中打开外部链接,并确保在同一个标签或窗口中打开的是同一个源的链接:
    备注: window.location.origin 在IE10不工作
$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');
  • 根据文本获取元素
    通过jQuery中的contains()选择器,找到一个元素内的文本内容;如果文本不存在,则这个元素将被隐藏
var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide();
  • 可见变化的触发
    当用户不再聚焦或者重新聚焦一个标签时触发js脚本:
$(document).on('visibilitychange', function (e) {
      if (e.target.visibilityState === "visible") {
        console.log('Tab is now in view!');
      } else if (e.target.visibilityState === "hidden") {
        console.log('Tab is now hidden!');
      }
});
  • 链式操作
    jQuery允许通过链式操作来减轻反复查询DOM和创建多个jQuery对象的过程。
$('#elem').show();
$('#elem').html('bla');
$('#elem').otherStuff();
// 这代码可以通过链式大大的提高:
$('#elem')
  .show()
  .html('bla')
  .otherStuff();
// 另一个方法是在一个可变的元素缓存($作为前置):
var $elem = $('#elem');
$elem.hide();
$elem.html('bla');
$elem.otherStuff();
// 链式和jQuery缓存方法是最好的做法,更短、更快的代码。

相关文章

  • jQuery常用功能小技巧

    原文地址:http://www.cnblogs.com/whitewolf/p/4982425.html 回到顶部...

  • jQuery常用功能技巧 — ajax

    ajax调用错误处理当一个Ajax调用返回一个404或500的错误时,将执行该错误处理。如果该处理未定义,则其他j...

  • jQuery常用的功能

    一、目录: 1.ready(function(){})方法的使用 2.require最常用的方法: 3.displ...

  • jQuery选择器

    jQuery是什么? jQuery描述 jQuery是JS的一个库,封装了我们开发过程中常用的一些功能, 方便我们...

  • 2.EditText基础

    目录 简介 常用属性 常见功能需求实现 常见问题 小技巧 1.简介 可编辑的TextView 2.常用属性 2.1...

  • jQuery入门知识

    jQuery是什么 jQuery是js的一个库,封装了开发过程中能够常用到的功能,提高开发效率。 jQuery和J...

  • jQuery API学习之CSS操作函数与动画效果篇

    jQuery CSS操作函数 常用jQuery CSS操作函数介绍: jQuery 常用特效API: jQuery...

  • jQuery选择器

    一、jQuery常用选择器 二、jQuery选择器优势 三、jQuery常用基本选择器 四、jQuery常用层次选...

  • jQuery--基础

    一、jQuery简介 jQuery 就是 JavaScript 的一个库,把我们常用的一些功能进行了封装,方便地处...

  • Jquery小技巧

    收集的35个jQuery小技巧/代码片段,可以帮你快速开发。 禁止右键点击 隐藏搜索文本框文字 在新窗口中打开链接...

网友评论

      本文标题:jQuery常用功能小技巧

      本文链接:https://www.haomeiwen.com/subject/pmntxxtx.html