博客列表 >jQuery之图片预览_2018-09-18

jQuery之图片预览_2018-09-18

theYon的博客
theYon的博客原创
2018年09月24日 18:18:58623浏览

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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议