Heim > Web-Frontend > js-Tutorial > Hauptteil

Der BootStrap-Datei-Upload-Stil ist super nett [kontinuierlich aktualisiert]_Javascript-Kenntnisse

WBOY
Freigeben: 2016-05-16 09:00:13
Original
3888 Leute haben es durchsucht

1 Verwenden Sie Bootstrap direkt und verwenden Sie eine einfache JS-Steuerung

http://duckranger.com/2012/06/pretty-file-input-field-in-bootstrap/

Ganz einfach, der Code lautet wie folgt:

<input id="lefile" type="file" style="display:none"> 
<div class="input-append"> 
<input id="photoCover" class="input-large" type="text" style="height:30px;"> 
<a class="btn" onclick="$('input[id=lefile]').click();">Browse</a> 
</div> 
<script type="text/javascript"> 
$('input[id=lefile]').change(function() { 
$('#photoCover').val($(this).val()); 
}); 
</script> 
Nach dem Login kopieren

Der Effekt ist wie folgt:


Kein weiteres JS und CSS erforderlich, führen Sie einfach Bootstrap und jQuery

ein

Tatsächlich wird dies zusammengefügt, und dann steuert js die Anzeige des Dateinamens.

Der Effekt ist wie folgt:

zwei Bootstrap-Dateistile

http://markusslima.github.io/bootstrap-filestyle/

Hinweis: Dieser Stil kann nur Bootstrap2-CSS verwenden und Bootstrap3-CSS ist nicht kompatibel! ! (Verdammt, ich habe nur deswegen lange getestet. Scheiße

Der Effekt ist wie folgt:

Drei Bootstrap-Datei-Eingaben

http://www.gregpike.net/demos/bootstrap-file-input/demo.html

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>bootstrap.file-input</title> 
<link href="css/bootstrap.min.css" rel="stylesheet" /> 
<script type="text/javascript" src="js/jquery-2.0.3.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.file-input.js"></script> 
</head> 
<body> 
<!-- Change the wording using a title tag --> 
<input type="file" title="Search for a file to add 1" class="btn-primary"> 
<br> 
<br> 
<input type="file" title="Search for a file to add 2" class="btn btn-primary"> 
<br> 
<br> 
<input type="file" title="Search for a file to add 3" class="btn-primary"> 
<br> 
<br> 
<input type="file" title="Search for a file to add 4" class="btn-primary"> 
<br> 
<br> 
<br> 
<br> 
<br> 
Disable the styling: 
<!-- Disable the styling --> 
<input type="file" data-bfi-disabled> 
<script type="text/javascript"> 
$('input[type=file]').bootstrapFileInput(); 
</script> 
</body> 
</html> 
Nach dem Login kopieren

Eingeführt bootstrap.file-input.js, aber es gibt ein kleines Problem mit der direkten Einführung, da die Methode bootstrapFileInput nicht gefunden werden kann. Also habe ich ein wenig js geändert:

/* 
Bootstrap - File Input 
====================== 
This is meant to convert all file input tags into a set of elements that displays consistently in all browsers. 
Converts all 
<input type="file"> 
into Bootstrap buttons 
<a class="btn">Browse</a> 
*/ 
$.fn.bootstrapFileInput = function() { 
这里我直接用这个方法,把前面一行删掉就可以了 
this.each(function(i,elem){ 
.........中间省略 
// Add the styles before the first stylesheet 
// This ensures they can be easily overridden with developer styles 
var cssHtml = '<style>'+ 
'.file-input-wrapper { overflow: hidden; position: relative; cursor: pointer; z-index: 1; }'+ 
'.file-input-wrapper input[type=file], .file-input-wrapper input[type=file]:focus, .file-input-wrapper input[type=file]:hover { position: absolute; top: 0; left: 0; cursor: pointer; opacity: 0; filter: alpha(opacity=0); z-index: 99; outline: 0; }'+ 
'.file-input-name { margin-left: 8px; }'+ 
'</style>'; 
$('link[rel=stylesheet]').eq(0).before(cssHtml); 
}; 
Nach dem Login kopieren

Okay, es ist Zeit, die Ergebnisse zu sehen~~


Four Fine Uploader

http://fineuploader.com/demos.html

Für den Download von der offiziellen Website fällt eine Gebühr an. . Ich habe eines von Github heruntergeladen.

Download-Link

Nach dem Herunterladen und Dekomprimieren sieht es so aus:

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<title>bootstrap.file-input</title> 
<link href="css/bootstrap.min.css" rel="stylesheet" /> 
<link href="css/fineuploader.css" rel="stylesheet" /> 
<script type="text/javascript" src="js/jquery-2.0.3.min.js"></script> 
<script type="text/javascript" src="js/bootstrap.min.js"></script> 
<script type="text/javascript" src="js/all.fineuploader-4.3.1.min.js"></script> 
</head> 
<body> 
<br> 
<div id="manual-fine-uploader"></div> 
<div id="triggerUpload" class="btn btn-primary" style="margin-top: 10px;"> 
<i class="icon-upload icon-white"></i> Upload now 
</div> 
<script> 
$(document).ready(function() { 
var manualuploader = $('#manual-fine-uploader').fineUploader({ 
request: { 
endpoint: 'server/handleUploads' 
}, 
autoUpload: false, 
text: { 
uploadButton: '<i class="icon-plus icon-white"></i> Select Files' 
} 
}); 
$('#triggerUpload').click(function() { 
manualuploader.fineUploader('uploadStoredFiles'); 
}); 
}); 
</script> 
<script> 
$(document).ready(function () { 
$('#fine-uploader').fineUploader({ 
request: { 
endpoint: 'server/handleUploads' 
} 
}); 
}); 
</script> 
<!-- Fine Uploader CSS 
====================================================================== --> 
<!-- Fine Uploader DOM Element 
====================================================================== --> 
<div id="fine-uploader"></div> 
<!-- Fine Uploader template 
====================================================================== --> 
<script type="text/template" id="qq-template"> 
<div class="qq-uploader-selector qq-uploader"> 
<div class="qq-upload-drop-area-selector qq-upload-drop-area" qq-hide-dropzone> 
<span>Drop files here to upload</span> 
</div> 
<div class="qq-upload-button-selector qq-upload-button"> 
<div>Upload a file</div> 
</div> 
<span class="qq-drop-processing-selector qq-drop-processing"> 
<span>Processing dropped files...</span> 
<span class="qq-drop-processing-spinner-selector qq-drop-processing-spinner"></span> 
</span> 
<ul class="qq-upload-list-selector qq-upload-list"> 
<li> 
<div class="qq-progress-bar-container-selector"> 
<div class="qq-progress-bar-selector qq-progress-bar"></div> 
</div> 
<span class="qq-upload-spinner-selector qq-upload-spinner"></span> 
<span class="qq-edit-filename-icon-selector qq-edit-filename-icon"></span> 
<span class="qq-upload-file-selector qq-upload-file"></span> 
<input class="qq-edit-filename-selector qq-edit-filename" tabindex="0" type="text"> 
<span class="qq-upload-size-selector qq-upload-size"></span> 
<a class="qq-upload-cancel-selector qq-upload-cancel" href="#">Cancel</a> 
<a class="qq-upload-retry-selector qq-upload-retry" href="#">Retry</a> 
<a class="qq-upload-delete-selector qq-upload-delete" href="#">Delete</a> 
<span class="qq-upload-status-text-selector qq-upload-status-text"></span> 
</li> 
</ul> 
</div> 
</script> 
</body> 
</html> 
Nach dem Login kopieren

Sie können js und css finden, indem Sie im Ordner suchen, aber es gibt all.fineuploader-4.3.1.min.js, das ich mit Chrome von der offiziellen Website kopiert habe, um Elemente zu überprüfen. . Es kann nach dem Testen verwendet werden

Achten Sie auf die Vorlage

im Zwischencode

Wenn dieser Absatz nicht vorhanden ist, meldet die Konsole einen Fehler:

Dann habe ich einen Grund herausgefunden:

Wie Sie lesen können, müssen Sie über eine Vorlagendatei verfügen, bevor sie ausgeführt werden kann.

Der Effekt ist wie folgt: (Das Bild ohne CSS ist etwas hässlich)

Der obige Inhalt bezieht sich auf den vom Herausgeber eingeführten BootStrap-Datei-Upload-Stil. Ich hoffe, er ist für alle hilfreich!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage