图片相框展示的设计与实现

图片相框展示的设计与实现

功能要求:
使用HTML5拖放API相关技术,在网页上实现为指定图片自动生成图片相框的效果。用户通过拖拽可以将本地的图片文件放置到页面上指定区域,即可在页面上自动生成带有相框效果的图片展示。
实现效果图:
在这里插入图片描述
在这里插入图片描述

一、界面设计
1.使用<div>标签划分区域
1)本地文件放置区域
2)带有相框图片的展示区域

2.CSS文件辅助渲染样式
1)自定义外部样式表photoframe.css文件
在这里插入图片描述

二、相框自动生成功能的实现
1.可放置区域的实现

<div id="recycle" ondragover="allowDrop(event)"  >请将图片拖放至此处</div>
//ondragover事件回调函数
    function allowDrop(ev) {
        //解禁当前元素为可放置被拖拽元素的区域
        ev.preventDefault();
    }

2.生成带有相框的图片效果

<div id="recycle" ondragover="allowDrop(event)" ondrop="fileDrop(event)"  >
 function fileDrop(e) {
     …
    //清空上一次图片内容
    //获取从本地拖拽放置的文件对象数组files
    //使用for循环遍历同时被拖拽并放置到指定区域的所有文件
    }

3.显示图片文件信息

//获取当前文件的最新修改日期
            var lastModified = f.lastModifiedDate;
            //修改当前文件的最新修改日期的描述格式
            var lastModifiedStr = lastModified ? lastModified.toLocaleDateString() + ' ' + lastModified.toLocaleTimeString() : 'n/a';
            //设置图片下方状态信息栏描述内容
            status.innerHTML = '<strong>' + f.name + '</strong> (' + (f.type || 'n/a') + ')<br>大小:' + f.size + '字节<br>修改时间:' + lastModifiedStr;

三、完整代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>HTML5拖放API之图片相框效果</title>
  <link rel="stylesheet" href="css/photoframe.css">
    </head>
    <body>
        <h3>HTML5拖放API之图片相框效果</h3>
        <hr />
  <!--可放置文件区-->
        <div id="recycle" ondragover="allowDrop(event)" ondrop="fileDrop(event)">
            请将图片拖放至此处
        </div>
        <br />
  <!--带有相框的图片展示区-->
        <div id="output"></div>
        <script>
            //ondragover事件回调函数
            function allowDrop(ev) {
                //解禁当前元素为可放置被拖拽元素的区域
                ev.preventDefault();
            }
            //ondrop事件回调函数
            function fileDrop(e) {
            …………………………

备注:查看完整代码请下载附件
https://download.csdn.net/download/YQEMMMM/12982765

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值