ホームページ > ウェブフロントエンド > jsチュートリアル > jQueryの必須実践スキル(後編)_jquery

jQueryの必須実践スキル(後編)_jquery

WBOY
リリース: 2016-05-16 15:34:02
オリジナル
1046 人が閲覧しました

この記事の例は、古典的で実用的な jQuery コード開発テクニックをまとめたものです。皆さんの参考に共有してください。詳細は以下の通りです。

12. 画像をプリロードします
ページで非表示の画像 (ホバー表示など) が多数使用されている場合は、それらをプリロードする必要がある場合があります:

$.preloadImages = function () {
 for (var i = 0; i < arguments.length; i++) {
 $('<img>').attr('src', arguments[i]);
 }
};
$.preloadImages('img/hover1.png', 'img/hover2.png');
ログイン後にコピー

13. 画像が読み込まれているか確認します
場合によっては、後続の操作を実行できるように、画像がロードされていることを確認する必要があります:

$('img').load(function () {
 console.log('image load successful');
});
ログイン後にコピー

img を他の ID またはクラスに置き換えて、指定したイメージが読み込まれているかどうかを確認できます。
14. 破損した画像を自動的に修正します
Web サイト上で壊れた画像リンクを見つけた場合は、簡単に置き換えることができない画像に置き換えることができます。この簡単なコードを追加すると、多くの手間を省くことができます:

$('img').on('error', function () {
 $(this).prop('src', 'img/broken.png');
});
ログイン後にコピー

Web サイトに壊れた画像リンクがない場合でも、このコードを追加しても問題はありません。
15. マウスオーバーによるクラス属性の切り替え
ユーザーがクリック可能な要素の上にマウスを置いたときの効果を変更したい場合、次のコードは、ユーザーが要素の上にマウスを置いたときに、ユーザーがマウスを離れたときにクラス属性を追加します。属性は自動的にキャンセルされます:

$('.btn').hover(function () {
 $(this).addClass('hover');
 }, function () {
 $(this).removeClass('hover');
 });
ログイン後にコピー

必要な CSS コードを追加するだけです。よりクリーンなコードが必要な場合は、toggleClass メソッドを使用できます:

$('.btn').hover(function () { 
 $(this).toggleClass('hover'); 
});
ログイン後にコピー

注: CSS を直接使用してこの効果を実現する方が良い解決策である可能性がありますが、その方法を知っておく必要があります。
16. 入力フィールドを無効にする
場合によっては、ユーザーが何らかのアクション (「規約を読む」チェックボックスをオンにするなど) を実行するまで、フォームの送信ボタンまたは入力フィールドを無効にする必要がある場合があります。有効にするまでは、無効な属性を追加できます:

コードをコピー コードは次のとおりです:
$('input[type="submit"]').prop ('無効'、true);

必要なのは、removeAttr メソッドを実行し、削除する属性をパラメータとして渡すことだけです:
コードをコピー コードは次のとおりです:
$('input[type="submit"]').removeAttr ('無効');

17. リンクの読み込みを防止します
ページにリンクしたりリロードしたくない場合があります。ページで何か他のことを実行したり、他のスクリプトをトリガーしたりしたい場合は、次のようにすることができます:

$('a.no-link').click(function (e) {
 e.preventDefault();
});
ログイン後にコピー

18. フェード/スライドを切り替えます
フェードとスライドは、jQuery でよく使用されるアニメーション効果で、要素の表示を改善できます。ただし、要素が表示されるときに最初の効果を使用し、要素が消えるときに 2 番目の効果を使用するようにしたい場合は、次のようにすることができます:
// フェード

$('.btn').click(function () {
 $('.element').fadeToggle('slow');
});
// Toggle
$('.btn').click(function () {
 $('.element').slideToggle('slow');
});
ログイン後にコピー

19. シンプルなアコーディオンエフェクト
アコーディオン効果をすばやく簡単に実現する方法は次のとおりです:
// すべてのパネルを閉じます

$('#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;
});
ログイン後にコピー

20. 2 つの DIV を同じ高さにします
場合によっては、内部のコンテンツに関係なく、2 つの div を同じ高さにする必要があります。次のコード スニペットを使用できます:

var $columns = $('.column');
var height = 0;
$columns.each(function () {
 if ($(this).height() > height) {
 height = $(this).height();
 }
});
$columns.height(height);
ログイン後にコピー

このコードは一連の要素をループし、要素の高さを要素内の最大の高さに設定します。
21. 要素が空かどうかを確認します
これにより、要素が空かどうかを確認できます。

$(document).ready(function() {
 if ($('#id').html()) {
 // do something
 }
});
ログイン後にコピー

22. 要素を置換します
div または他のものを置き換えますか?

$(document).ready(function() {
 $('#id').replaceWith('
<DIV>I have been replaced</DIV>

');
});
ログイン後にコピー

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート