zoukankan      html  css  js  c++  java
  • 通过html5的range属性动态改变图片的大小

    range属性已经是很成熟的属性了,我们可以使用这个属性进行动态调整图片的宽度,其中原理在于通过不断获取range的值,并赋予给所需要的图片,进而达到动态改变图片的效果。下面贴出具体的代码,主要参照了别人的风格,加以改装。

    1.这部分主要是整个页面的css代码,这一部分没有什么需要说明的,直接引用过来。

    .dialog_container {
                display: none;
                 100%;
                 100vw;
                height: 100%;
                height: 100vh;
                background-color: rgba(0,0,0,.35);
                text-align: center;
                position: fixed;
                top: 0;
                left: 0;
                z-index: 10;
            }
            .dialog_container:after {
                display: inline-block;
                content: '';
                 0;
                height: 100%;
                vertical-align: middle;
            }
            .dialog_box {
                display: inline-block;
                border: 1px solid #ccc;
                text-align: left;
                vertical-align: middle;
                position: relative;
            }
    
            .dialog_title {
                line-height: 28px;
                padding-left: 5px;
                padding-right: 5px;
                border-bottom: 1px solid #ccc;
                background-color: #eee;
                font-size: 12px;
                text-align: left;
            }
    
            .dialog_close {
                position: absolute;
                top: 5px;
                right: 5px;
            }
    
            .dialog_body {
                background-color: #fff;
            }
    
    
            .demo_image {
                -webkit-transition: width .5s;
                -moz-transition: width .5s;
                transition: width .5s;
            }
    

      接下来就是主要的html代码了,这里进行了一些小的修改

     1 <p>图片宽度 :<span class="img-width"></span></p>
     2 <p style="position: relative;z-index: 666">200<input type="range" name="range" min="200" max="1000" step="1" value="300"/>1000</p>
     3 <button>点击弹出图片</button>
     4 
     5 <div id="dialogContainer" class="dialog_container">
     6     <div id="dialogBox" class="dialog_box">
     7         <div id="dialogTitle" class="dialog_title">尺寸动态可变图片</div>
     8         <a href="javascript:" id="dialogClose" class="dialog_close">[关闭]</a>
     9         <div id="dialogBody" class="dialog_body">
    10             <img src="../img/new.png" class="demo_image" />
    11         </div>
    12     </div>
    13 </div>

    最后是经过改装的js代码,重要的一点不能忘记了,一定要记得引入jquery的库。

     1  (function() {
     2 
     3 
     4 
     5             var eleW= $(".img-width"), eleR = $("input[type='range']"), eleB = $("button"),w= $("input[type='range']").val();
     6                     eleDialog = $("#dialogContainer");
     7 
     8             eleB.on("click", function() {
     9                 $("#dialogBody img").css({
    10                     w
    11                 });
    12                 eleDialog.show();
    13             });
    14 
    15             eleR.on("click", function() {
    16                 eleW.html(this.value);
    17                 $("#dialogBody img").css({
    18                     this.value
    19                 })
    20             });
    21 
    22             $("#dialogClose").on("click", function() {
    23                 eleDialog.hide();
    24                 return false;
    25             });
    26     })();

    以上就是整个动态实现图片宽度弹窗的实现,其中的原理就在于动态获取到range的值,并赋值给元素的宽,再加上一个平滑的国度使得该效果更加的逼真。其主要目的在于学习和使用range的功能用法。

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/lanveer/p/5546179.html
Copyright © 2011-2022 走看看