博主信息
博文 34
粉丝 1
评论 0
访问量 29593
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
jQuery之图片预览_2018-09-18
theYon的博客
原创
828人浏览过

jQuery之图片预览

主要知识点:

1)on() 事件绑定

2)DOM操作的实战运用

代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>在线相册</title>
  <style>
    ul{
      list-style: none;
      overflow: hidden;
    }
    ul li{
      display: block;
      float: left;
      margin-left: 5px;
    }
    ul li img{
      display: block;
    }
  </style>
</head>
<body>
  <h2>在线预览</h2>
  <p>
    <label for="img_url">上传图片:
      <input type="file" name="img_url" id="img_url" placeholder="上传图片">
    </label>
  </p>
  <p>
    图片类型:
    <input type="radio" id="rect" name="border" value="0"><label for="rect">直角</label>
    <input type="radio" id="radius" name="border" value="10%"><label for="radius">圆角</label>
    <input type="radio" id="circle" name="border" value="50%"><label for="circle">圆形</label>
  </p>
  <p>
    是否添加阴影:
    <select name="shadow">
        <option value="0">不添加</option>
        <option value="1">添加</option>
    </select>
  </p>
  <p>
    <button class="btn">添加图片</button>
  </p>
  <div>
    <h3>预览</h3>
    <ul></ul>
  </div>

</body>
<script src="./js/jquery.min.js"></script>
<script>
  $(function(){

    $(".btn").on("click",function(){

      // 获取图片路径
      let imgUrl = $('#img_url').val();
      if(imgUrl.length === 0){
        alert("请选择一张图片");
        $('#img_url').focus();
        return false;
      }
      console.log('http://theyon.com/0918/images/'+imgUrl.split('\\')[2]);
      imgUrl = 'http://theyon.com/0918/images/'+imgUrl.split('\\')[2];

      // 获取图片显示类型
      let imgType = $("input[type=radio]:checked").val();
      console.log(imgType);

      // 获取图片显示效果
      let shadow = 'none';
      if($(':selected').val() === '1'){
        shadow = '3px 3px 3px #666';
      }

      // 创建图片
      let img = $('<img>')
                .attr('src',imgUrl)
                .width(150)
                .height(150)
                .css({
                  'border-radius': imgType,
                  'box-shadow': shadow
                });
      // 图片操作
      let before = $('<button></button>').text('前移');
      let after = $('<button></button>').text('后移');
      let remove = $('<button></button>').text('删除');

      // 创建一个<li>用来放所有的内容
      let contaier = $('<li>');
      //将图片和三个按钮打包到<li>中
      contaier.append(img,before,after,remove);
      $('ul').append(contaier);

      before.click(function(){
        let current = $(this).parent();
        let prev = current.prev();

        prev.before(current);
      });

      after.click(function(){
        let current = $(this).parent();
        let next = current.next();

        next.after(current);
      })

      remove.click(function(){
        let current = $(this).parent();
        if(confirm('确认删除吗?')){
          current.remove();
        }
        return false;
      })

      


    })
  })
</script>
</html>

运行结果

TIM截图20180924161745.png

批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学