記事タイプの Web ページを作成する場合、全体像を確認するために重要なポイントを開く必要があることがよくあります。LightBox2 は、数ある製品の中でも優れた Jquery プラグインです。構成の詳細については説明しません。今日私が主に共有したいのは、大きな画像をクリックした後、マウス ホイールを使用して画像を拡大および縮小する方法です。
1. ホイール ズームをサポートするようにライトボックスのソース コードを変更します
マウス ホイールをサポートする主な方法は、ポップアップ ボックス全体をマウスホイール イベントにバインドすることです。lightbox.js を開き、Lightbox.prototype.build = function() {...} セクションを見つけます。ここにあります (ライトボックスの初期化時) 目的のスクロール ホイール イベントをバインドします。たとえば、関数の最後に次のコードを追加します:
// 画像スクロール ホイール ズーム
this.img = this.$container.find('.lb-image');
This.label = this.$lightbox.find('.lb-dataContainer');
$([this.$overlay[0],this.$lightbox[0]]).bind("マウスホイール", function(e){
var flag= e.originalEvent.wheelDelta
var imgH = self.img.height();
var imgW = self.img.width();
var nw = Math.round(20*imgW/imgH);
var ctH = self.$outerContainer.height();
var ctW = self.$outerContainer.width();
varlayH = self.$overlay.height()-20;
varlayW = self.$overlay.width()-20;
// 下
If(flag && imgH>20 && imgW>20) {
self.img.css('height', imgH - 20);
self.img.css('width', imgW - nw);
self.$outerContainer.css('height', ctH - 20);
self.$outerContainer.css('width', ctW - nw);
If(ctW-nw > 240){
self.label.css('width', ctW - nw);
}
} else if(!flag && imgH
self.img.css('width', imgW nw);
self.$outerContainer.css('height', ctH 20);
self.$outerContainer.css('width', ctW nw);
self.label.css('width', ctW nw);
e.stopPropagation();
return false;
});
コードは、背景と正面の画像の両方にマウス ホイール モニタリングを追加し、高さと幅を比例して拡大縮小するように設定しています (上にスクロールするとズームインし、下にスクロールするとズームアウトします)。各高さが 20 ピクセルに変更され、幅も比例して変更されます。注意が必要なのは画像の最小縮小サイズであり、画面範囲の制限を超えて画像を拡大することはできません。同時に、エクスペリエンスを向上させるために、必ず e.stopPropagation() を追加し、ブラウザーがスクロールしないように false を返します。
2. Base64 画像をサポートするようにライトボックスのソース コードを変更します
ここで話すのは面倒かもしれませんが、まずネイティブ Lightbox を使用する場合の HTML コード形式の要件を見てみましょう。
これは最も単純なポップアップ画像です。画像 #1 をクリックすると、ライトボックスがポップアップして img/image.jpg の内容を表示します (要素 ;)。
次に、この状況を考えてみましょう。画像がサーバー上で Base64 でエンコードされている場合、画像はデータベースに保存されますか?これはそうあるべきです:
ここで問題が発生します。IE では href の長さに制限があり、href フィールドに大きな画像を入れることはできず、画像は去勢されてしまいます (上部のみが表示されます)。
もう 1 つのよくある状況として、最初に小さな画像を表示し、その小さな画像をクリックすると大きな画像が表示されます。
重複する Base64 データが 2 つあり、どちらもサーバーから送信されるため、時間と帯域幅が大量に消費されます。
そこで、必要に応じてコードを変更しました。Lightbox.prototype.start = function($link) {...} のサブ関数 addToAlbum:
関数 addToAlbum($link) {
self.album.push({
// リンク: $link.attr('href'),
リンク: $link.children().attr("src"),
タイトル: $link.attr('データタイトル') || $link.attr('タイトル')
});
}
コメントアウトした部分はオリジナル、$linkは前のHTMLコードのaタグ、変更後のaddToAlbum関数の機能は、ポップアップ画像のsrcを設定する際に文字が取られなくなりました元の href から img タグのポップアップ src として取得しますが、 a タグの子要素から src 属性を直接検索します。 src 属性の長さは無制限なので、画像の切り捨ての問題は発生しません。 。
3. ライトボックスを既存の記事に適用します
セクション 2 では、ライトボックスを使用する場合、HTML に特定の形式があることをすでに述べました。既存の記事内の画像が の場合、レイヤーのカプセル化を変更する必要があります。
関数 initLightbox(){
var imgs = $(".lightbox-container").find('img');
$.each(imgs,function(i) {
var img = $(imgs[i]);
img.wrap(""); });
}
このうち、「lightbox-container」は記事が配置されるコンテナのクラスです。 initLightbox 関数は、ページを読み込む準備ができたときに配置する必要があります。この関数は、記事内のすべての img タグをライトボックス形式にカプセル化します。
この記事は以上です。ポイント 2 と 3 については、独自の使用シナリオに応じて使用できます。ライトボックスの変更の焦点は、スクロール ホイールのズームをサポートすることです。
修正したライトボックスを添付します http://xiazai.jb51.net/201412/yuanma/lightbox(jb51.net).rar

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
