検索
ホームページウェブフロントエンドhtmlチュートリアルjQuery_html/css_WEB-ITnose をベースにしたシンプルな画像ビューア

プロジェクトでは、画像ビューアをDIYしました。最初のコードは自分のコードではないので、少し変更しただけですが、あまりうまくいきませんでした。後で時間があるときにスタイルとカプセル化を書き直します。バックアップとして蓄積しておきます。便利な子供用の靴があれば、これに基づいて完全に変更できます。比較的簡単で、コードも比較的シンプルです

画像ビューアにはいくつかの主な機能があります:

1. 画像と画像情報 (画像名) を表示します。 、出版社など)

2. 画像を切り替える

3. 画像ビューアを閉じる

初期化インターフェース関数pictureViewer.init: function(picInfos,tapNumber,isBig)

picInfos: 画像グループを渡す情報、必須、形式は次のとおりです

    var picInfos = [        {          "url" : "default.png",          "data": [            {              "key":"名称:",              "value":"测试图片"            },            {              "key":"发布者:",              "value":"chua"            }          ]        },        {          "url" : "test.jpeg",          "data": [            {              "key":"名称",              "value":"测试图片"            },            {              "key":"发布者:",              "value":"发大水发大水发顺风h"            },            {              "key":"这个图片的其他信息",              "value":"vsfsgsdgfds234323424"            }          ]        },        ...    ] //传入参数的样式 

tapNumber: 画像リストに表示される画像のインデックス、0から始まる必要があります

isBig: 大きな画像表示を使用するかどうか、デフォルトは false、オプション

htmlとcssのソースコードは以下の通りです(例に続きます)

<!DOCTYPE html><html lang="ch-cn">  <head>  <meta charset="utf-8">  <script type="text/javascript" src='jquery-1.9.1.js'></script>    <link rel="stylesheet" type="text/css" href="imgTap.css">    <script type="text/javascript" src='imgTap.js'></script>    <style type="text/css">    html,body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{      margin: 0;      padding:0;    }    *{      -webkit-box-sizing: border-box;      -moz-box-sizing: border-box;      box-sizing: border-box;    }    body{      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;    }    .imgTapDetail {        display: none;        position: absolute;        z-index: 2000;        top: 0;        width: 100%;        height: 100%;        background: none transparent scroll repeat 0% 0%;        color: #000 !important;    }    .page-secShadow {        position: absolute;        top: 0;        left: 0;        width: 100%;        height: 100%;        background: #000;        background-color: rgba(0,0,0,.3);        filter: alpha(opacity=50);    }    .page-shadowContent {        width: 40%;        margin: 0 auto;        margin-top: 20%;        position: relative !important;        min-width: 400px;    }    .page-shadowContent.widget-big{    }    .leftTap, .rightTap {        margin-top: 50%;        width: 80px;        height: 80px;        border-radius: 50%;        position: absolute;        top: -80px;        cursor: pointer;    }    .leftTap {        left: -30%;        background: url("imgTap.png") 0 0 no-repeat;    }    .rightTap {        right: -30%;        background: url("imgTap.png") -80px 0 no-repeat;    }    .closeTap {        width: 60px;        height: 60px;        border-radius: 50%;        position: absolute;        right: -30px;        top: -30px;        cursor: pointer;        background: url("imgTap.png") 0 -165px no-repeat;        z-index: 99;    }    .widget {        padding: 0 5px;        -webkit-box-shadow: none;        -moz-box-shadow: none;        box-shadow: none;        margin: 3px 0 10px 0;    }    .widget-body {        background-color: #fff;        -webkit-box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);        -moz-box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);        box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);        padding: 12px;    }    .page-shadowContent .widget-body {        min-height: 200px;        padding: 15px!important;        border: 1px solid #ccc;        overflow: hidden;    }    .widget-body .row {        margin-right: -10px !important;        margin-left: -10px !important;    }    .imgShow {        text-align: center;        height: 400px;        padding-left: 10px;        padding-right: 10px;        /*background: url(default.png) center no-repeat;*/    }    #tapContent{        padding-left: 10px;        padding-right: 10px;    }    .imgContent {        max-width: 400px;        max-height: 400px;        vertical-align: middle;    }    .widget-body img {        max-width: 100%;        height: auto!important;    }    .imgShow > span {        height: 100%;        display: inline-block;        vertical-align: middle;    }        .imgTapDetail .form-group {        overflow: hidden;        margin-bottom: 0 !important;        position: relative;        min-height: 34px;    }    .widget-detail .form-group .detail-LabelStyle {        float: left;        padding-left: 5px;        /* max-width: 50%; */        text-align: left;        line-height: 34px!important;        color: rgb(115, 115, 115);        padding-right: 5px;        height: 34px;        overflow: hidden;        left: 0;        top: 0;    }    .widget-detail .form-group .detail-SpanStyle {        padding: 8px 0 6px 5px;        line-height: 20px;        width: auto;        height: auto!important;        min-height: 34px;        float: left;        /* margin-left: 80px; */        word-break: break-all;    }    .widget-big {        width: 80%;        min-width: 300px;    }    .widget-big .leftTap{        left: -10%;    }    .widget-big .rightTap{        right: -10%;    }    .widget-big .widget-detail{        padding: 40px 0;    }    .widget-big .imgShow{        min-height: 500px;    }    .widget-big .imgShow img{        max-width: 800px;         max-height: 550px;    }    </style>  </head>  <body >    <div class="imgTapDetail"></div>    <script type="text/javascript">    var picInfos = [      {        "url" : "default.png",        "data": [          {            "key":"名称:",            "value":"测试图片"          },          {            "key":"发布者:",            "value":"chua"          }        ]      },      {        "url" : "test.jpeg",        "data": [          {            "key":"名称",            "value":"测试图片"          },          {            "key":"发布者:",            "value":"发大水发大水发顺风h"          },          {            "key":"这个图片的其他信息",            "value":"vsfsgsdgfds234323424"          }        ]      }    ]     pictureViewer.init(picInfos,0,true);    </script>  </html>

jsのソースコードは以下の通りです

pictureViewer = {    picInfos: [],    curPicIndex: 0,    isBig:false,//大图查看?默认为false。默认图片显示区域为window宽度的40%,大图为80%    imgTapSelector:".imgTapDetail",    init: function(picInfos,tapNumber,isBig){        var _this = this;        _this.picInfos = picInfos;        _this.curPicIndex = tapNumber;        _this.isBig = isBig;        tapImgInit();                //图片查看器初始化        function tapImgInit(){            //页面代码和事件只需要初始化一次即可            if(!_this.guid){                _this.guid = 1;                initTapImgHtml();                $(document).on("click","#rightTap",function(){                    _this.curPicIndex++;                    if(_this.curPicIndex == _this.picInfos.length){                        _this.curPicIndex = 0;                    }                    $("#tapContent").html("")                    tapImg()                }).on("click","#leftTap",function(){                    _this.curPicIndex--;                    if(_this.curPicIndex < 0){                        _this.curPicIndex = _this.picInfos.length-1;                    }                    $("#tapContent").html("")                    tapImg();                }).on("click","#closeTap",function(){                    $(_this.imgTapSelector).hide("fast")                })            }            var offTop = top.document.body.scrollTop || top.document.documentElement.scrollTop;            $('#imgTapPanel').css("margin-top",_this.isBig?(offTop>30?offTop:30):offTop + 100)            tapImg();            $(_this.imgTapSelector).show("fast");        }        //初始化图片查看器的html代码        function initTapImgHtml(){            var $detailText = '<div class="page-secShadow" >'                + '<div id="imgTapPanel" class="page-shadowContent '+(_this.isBig?"widget-big":"")+'">'                + '<div id="leftTap" class="leftTap"></div>'                + '<div id="rightTap" class="rightTap"></div>'                + '<div id="closeTap" class="closeTap"></div>'                + '<div class="widget row"><div class="widget-body">'                + '<div class="widget-detail row">'                + '<div class="imgShow">'                + '<img  class="imgContent lazy"  src="/static/imghwm/default1.png"  data-src="logo.png"  id="tapImg" alt="jQuery_html/css_WEB-ITnose をベースにしたシンプルな画像ビューア" ><span></span>'                + '</div>'                + '<div id="tapContent"></div>'                + '</div></div></div></div></div>';                             $(_this.imgTapSelector).html($detailText);            hoverButton("#leftTap", 0, 0, 0, "-80px");            hoverButton("#rightTap", "-80px", 0, "-80px", "-80px");            hoverButton("#closeTap", 0, "-165px", "-60px", "-165px");        }        //添加左右切换图标、关闭图标的hover响应事件。这个其实可以起到css中更好一些        function hoverButton(id, x, y, A, B){            $(id).hover(function(){                $(this).css('background-position', A + ' '+ B)            },function(){                $(this).css('background-position', x + ' '+ y)            })        }        //刷新当前图片及图片信息        function tapImg(){            var reg = /[::]$/,            leftTap = $("#leftTap"),            rightTap = $("#rightTap"),            imgTap = $("#tapImg"),            contentTap = $("#tapContent");            leftTap.css("display","block");            rightTap.css("display","block");            if(_this.picInfos.length == 1){                leftTap.css("display","none");                rightTap.css("display","none");            }            imgTap.attr("src",_this.picInfos[_this.curPicIndex].url);            var data = _this.picInfos[_this.curPicIndex].data,            dataLength = data.length,            $text = "";            for(var i=0; i<dataLength; i++){                $text += '<div class="form-group">'                    + '<label class="detail-LabelStyle">'+data[i].key.replace(reg,"")+':</label>'                    + '<span id="spanLoginName" class="detail-SpanStyle">'+data[i].value+'</span>'                    + '</div>';            };            contentTap.empty().append($text);            setTimeout(function(){                if(_this.isBig && imgTap.height() > 400){                    imgTap.parent().attr("style","height:inherit");                }else{                    imgTap.parent().removeAttr("style");                }            },1);        }    }}

Infos,0,true);として以下に続きます

テスト例の pictureViewer.init(picInfos,0,false); のレンダリングは次のとおりです

これは比較的大まかな画像ビューアであり、修正が容易です。後で時間があれば書き直します。

この記事が良いと思ったら右下の【おすすめ】をクリックしてください!

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTMLタグの目的は何ですか?HTMLタグの目的は何ですか?Apr 28, 2025 am 12:02 AM

htmltagsareSterentionforturturingwebpages、EnhinceAccessibility、seo、andporformance.1)theyclosedinagure bracketetsandinginging inpairstocreateahierarchStructure.2)semanticagslikeandimproveuserexperienceandseo.3)

自己閉鎖タグとは何ですか?例を挙げてください。自己閉鎖タグとは何ですか?例を挙げてください。Apr 27, 2025 am 12:04 AM

セルフクロージングのlandxmlareTagstatemtatemsem onedinedingsingaseparateclosingtag、SimmarifiedMarkupStructureanddendingCodingInefciency.1)areEssentionalinforementswithoutcontent、2)

HTMLを超えて:Web開発のための重要なテクノロジーHTMLを超えて:Web開発のための重要なテクノロジーApr 26, 2025 am 12:04 AM

強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

HTMLのブール属性とは何ですか?いくつかの例を挙げてください。HTMLのブール属性とは何ですか?いくつかの例を挙げてください。Apr 25, 2025 am 12:01 AM

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードをどのように検証できますか?HTMLコードをどのように検証できますか?Apr 24, 2025 am 12:04 AM

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML対CSSおよびJavaScript:Webテクノロジーの比較HTML対CSSおよびJavaScript:Webテクノロジーの比較Apr 23, 2025 am 12:05 AM

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

マークアップ言語としてのHTML:その機能と目的マークアップ言語としてのHTML:その機能と目的Apr 22, 2025 am 12:02 AM

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター