jquery_jquery に基づくクロスブラウザ表示のためのファイル アップロード制御
以前、input type="file" のスタイルを定義する方法を簡単に紹介する短い記事を書きました。一般的なフォームの場合、このアプローチはコードを減らすだけでなく、スタイルも美しくします。「input type="file"」
実際、ファイル コントロールのスタイルを定義する一般的な考え方は同じです。
今日、ブログ ガーデンの Fanhua さんがファイル コントロールを勉強するために 2 つの記事を書いているのを見ました
《jquery.fileEveryWhere.js -- クロスブラウザ ファイル表示プラグイン》
"Firefox の input type="file" のサイズはどれくらいですか"
ここでは我慢できません。結果は成功しました。 以下の内容は、上記 2 つの記事から引用します。
Daniel ppk は、複数のフォーム コントロールの中で、アップロード ファイル コントロールのスタイルを制御するのが最も難しいと述べています。 「input type="file" のスタイル設定」の記事を参照してください。このプラグインは主にこの記事に基づいています。
まず、chrome、ie、firefox の 3 つのブラウザでの input type="file" の表現の違いを見てみましょう。
ff と ie は、見た目の点では、Firefox の方が標準的です。
1. Firefox の type="file" の入力幅。は現在サポートされていません (ただし、FF は size 属性をサポートしています。size の値を設定して、アップロード ボックスのサイズを制御できます。このサイズの大きさについては、記事「Fanhua-What is the size of input type=」を参照してください)。ファイル」をFirefox上で実行しますか?)。
2. ファイル フォームを送信するとき、Firefox はファイル名のみを送信しますが、パスは送信しません。一方、IE はパス ファイル名を送信することもできますが、ファイル名のみが表示されます。 Firefox でファイルフォームを送信する場合、ファイル名のみが送信され、パスは送信されません (残念ながら、現時点では解決策はありません)
さまざまなブラウザでファイルを均一に表示するには、純粋なスタイルではできません制御できなくなり、スクリプト化された js のみを使用できるようになります。 3 つの基本的な手順があります:
1. テキスト ボックスとボタンを使用して、入力 type="file" をシミュレートします。
2. input="file" を透明にし、テキスト ボックスとボタンを完全に覆うように配置します。
3. input type="file" が onchange の場合、js を使用してテキスト ボックスの値を input type="file" の値に設定します。
手順を理解すると、プラグイン全体は次のように簡単に作成できます。
/*
* どこでもファイル - ブラウザー ユニバーサル ファイル アップロード
* copyright->flowerszhong
* flowerszhong@gmail.com
* http://www .cnblogs.com/flowerszhong/
*/
(function($) {
$.fn.fileEveryWhere = function(options) {
var defaults = {
WrapWidth: 300,
WrapHeight: 30,
ButtonWidth: 60,
ButtonHeight: 28,
ButtonText: "参照",
TextHeight: 28,
TextWidth: 240
};
var options = $.extend(defaults, options);
var browser_ver = $.browser.version.substr(0, 1); .msie && browser_ver <= "7 ") ? "inline" : "inline-block";
return this.each(function() {
// コンテインメントを作成し、相対位置に設定します
var Wrapper = $("
.css({
"width": options.WrapWidth "px",
"height": options.WrapHeight "px"、
"display": displayMode、
"zoom": "1"、
"position": "relative"、
"overflow": "hidden"、
" z-index":"1"
});
//アップロードされたファイルの名前を保存するテキスト入力ボックスを作成します
var text = $('')
. css({
"width": options.TextWidth "px",
"height": options.TextHeight "px"
}); 🎜>//参照ボタンを作成します
var button = $('')
.val(options.ButtonText); (this).wrap(wrapper).parent().append (text, button);
$(this).css({
"位置": "絶対",
"トップ": " 0"、
"left": "0"、
"z-index": "2"、
"height": オプション。WrapHeight "px"、
"width": オプション。 WrapWidth "px",
"cursor": "pointer ",
"opacity": "0.0",
"outline":"0",
"filter": "alpha(opacity: 0)"
});
if ( $.browser.mozilla) { $(this).attr("size", 1 (options.WrapWidth - 85) / 6.5) }
$(this ).bind("変更", function() {
text.val($(this).val());
})
}; )(jQuery);
使用方法は非常に簡単です:
$("input:file").fileEveryWhere({parameter});
firefox input of type="file"幅の定義は現在サポートされていませんが、FF はサイズの値を設定してアップロード ボックスのサイズを制御できます。
しかし、このサイズの値をどのように設定するのか、size="10" の幅はどれくらいなのか、デフォルト値はどれくらいなのか、感覚で設定することはできません。 スクリプトで確認してください:
< ;script type=" text/javascript">
$(function() {
var fileArray = [];
var i = 0;
while (i fileArray.push( i ":i ;
}
document.write (fileArray.join( ""));
$("input:file").each(function() { $(this).after("" $(this).width() " ") });
});

見つかりました 特定のルール、デフォルトは 208 ピクセル、size="1" の場合は 85 ピクセル、各サイズの幅は 6.5 ピクセル異なるため、次のようにサイズ値を動的に設定できます:

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

ファイルのサイズを取得するには、Java の File.length() 関数を使用します。ファイル操作を扱うとき、ファイル サイズは非常に一般的な要件です。Java では、ファイルのサイズを取得するための非常に便利な方法、つまり length( ) File クラスのメソッド。この記事では、このメソッドを使用してファイルのサイズを取得する方法と、対応するコード例を紹介します。まず、サイズを取得したいファイルを表す File オブジェクトを作成する必要があります。 File オブジェクトを作成する方法は次のとおりです: Filef

PHP BLOB をファイルに変換する方法: 1. PHP サンプル ファイルを作成します; 2. 「function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })」を通じて} 」メソッドを使用して、Blob をファイルに変換できます。

Java の File.renameTo() 関数を使用してファイルの名前を変更する Java プログラミングでは、ファイルの名前を変更する必要がよくあります。 Java には、ファイル操作を処理するための File クラスが用意されており、その renameTo() 関数でファイルの名前を簡単に変更できます。この記事では、Java の File.renameTo() 関数を使用してファイルの名前を変更する方法と、対応するコード例を紹介します。 File.renameTo() 関数は、File クラスのメソッドです。

ファイルの親ディレクトリを取得するには、Java の File.getParentFile() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。ファイルの親ディレクトリを取得する必要がある場合は、Java が提供する File.getParentFile() 関数を使用できます。この記事では、この関数の使用方法とコード例を説明します。 Java の File クラスは、ファイルやフォルダーを操作するために使用される主なクラスです。ファイルのプロパティを取得および操作するための多くのメソッドを提供します

ファイルの親パスを取得するには、Java の File.getParent() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。場合によっては、ファイルの親パス、つまりファイルが存在するフォルダーのパスを取得する必要があることがあります。 Java の File クラスには、ファイルまたはフォルダーの親パスを取得する getParent() メソッドが用意されています。 File クラスは、ファイルとフォルダーを Java で抽象表現したもので、ファイルとフォルダーを操作するための一連のメソッドを提供します。その中で、手に入れてください

Java で File.delete() メソッドを使用してファイルまたはディレクトリを削除するにはどうすればよいですか?概要: Java では、File クラスの delete() メソッドを使用してファイルまたはディレクトリを削除できます。このメソッドは、指定されたファイルまたはディレクトリを削除するために使用されます。ただし、この方法では、他のプログラムによって開かれていない空のディレクトリまたはファイルしか削除できないことに注意してください。ファイルまたはディレクトリの削除が失敗した場合は、IOException をキャッチすることで特定の理由を見つけることができます。ステップ 1: 関連パッケージをインポートする まず、

Android アーキテクチャの基礎知識 カーネル カーネル層の脆弱性は極めて有害 汎用ドライバは多数かつ複雑であり、脆弱性も多数存在する可能性がある ライブラリ システム ランタイム ライブラリ層 システム ミドルウェアは、libc、WebKit、SQLite などのランタイム ライブラリを提供します。 AndroidRunTimeDalvik virtual マシンおよびカーネル ライブラリ FrameWork アプリケーション フレームワーク層は、一連のサービスと API インターフェイスを提供します アクティビティ マネージャー コンテンツ プロバイダー ビュー リソース マネージャー 通知マネージャー アプリケーション アプリケーション層 システム アプリケーション ホーム画面 ホーム、連絡先、電話、ブラウザー その他 アプリケーション開発者はアプリケーションを使用しますフレームワーク層へ
