jQuery常用功能小技巧

2017-05-15  本文已影响0人  守心向暖

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

<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');
$('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');
    }
});
$('.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();
});
// 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').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());
});
$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');
var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide();
$(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!');
      }
});
$('#elem').show();
$('#elem').html('bla');
$('#elem').otherStuff();
// 这代码可以通过链式大大的提高:
$('#elem')
  .show()
  .html('bla')
  .otherStuff();
// 另一个方法是在一个可变的元素缓存($作为前置):
var $elem = $('#elem');
$elem.hide();
$elem.html('bla');
$elem.otherStuff();
// 链式和jQuery缓存方法是最好的做法,更短、更快的代码。
上一篇 下一篇

猜你喜欢

热点阅读