zoukankan      html  css  js  c++  java
  • jquery框架和mvvm框架的元素插入对比

    这里的mvvm框架选用的是avalon.

    元素插入用的是img做例子。

    点击看效果demo

    核心代码:

      

     //jq way
    var picHref = $("<a></a>").attr("class","zxx_image_list");
    var picSrc = $("<img</img>").attr("src",$img[count]).attr("class","zxx_image");
    picHref.append(picSrc);
    picHref.appendTo($("#jqCover"));
                    
     //vm way
    mvvmImg.imgArr.push($img[count]);                
    

      可以很清晰得看见。以上两种方式的效果是一样的,mvvm模式下的元素插入和删除会更加简洁。

    demo源码

    <!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>Document</title>
        <style>
            .demo-container{
                 80%;
                margin: 0 auto;
                border-left: 1px solid #e4e4e4;
                border-right: 1px solid #e4e4e4;
            }
            .zxx_image_list{
                display:inline-block; 
                1.2em; 
                margin-top:20px; 
                text-align:center; 
                font-size:128px; 
                vertical-align:middle;
            }
            .zxx_image_list img.zxx_image{
                padding:3px; 
                 1.2em;
                height:0.72em;
                border:1px solid #828da1; 
                background:white; 
                vertical-align:middle; 
                position:relative;
            }
            .zxx_image_list:hover,.zxx_image_list:hover .zxx_image{border-color:#ff3300;}
            .img-container{
                padding-right: 252px;
                padding-left: 250px;
            }
            .finishedInfo{
                text-align: center;
                display: none;
            }
            .title{
                text-align: center;
            }
        </style>
    </head>
    <body> 
        <div class="demo-container">
            <button id="add">添加图片</button>
            <h4 class="finishedInfo">图片加载完成</h4>
            <div class="title">
                jquery方式
            </div>
            <div class="img-container" id="jqCover">
                
            </div>
            <div class="title">
                mvvm方式
            </div>
            <div class="img-container" id="vmCover" :controller="pictureShow">
                <a href="#" class="zxx_image_list" ms-for="(key,el) in @imgArr">
                    <img class="zxx_image" :attr="{src:@el}" />
                </a>           
            </div>
        </div>
        <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
        <script src="https://unpkg.com/avalon2@2.2.8/dist/avalon.js"></script>
        <script>
            let mvvmImg = avalon.define({
                $id: 'pictureShow',
                imgArr: []
            });
            let $img = [
                    '../images/imgcommon1.jpg',
                    '../images/imgcommon2.jpg',
                    '../images/imgcommon3.jpg',
                    '../images/imgcommon4.jpg',
                    '../images/imgcommon5.jpg',
                    '../images/imgcommon6.jpg',
                    '../images/imgcommon1.jpg',
                    '../images/imgcommon2.jpg',
                    '../images/imgcommon3.jpg',
                    '../images/imgcommon4.jpg',
                    '../images/imgcommon5.jpg',
                    '../images/imgcommon6.jpg',
                ];
            let count = 0;
            var addImg = function(){
    
    			if(count >= $img.length){
    
    				$(".finishedInfo").css("display","block");
    				return;
    			}
    			else{
    
                    //jq way
    				var picHref = $("<a></a>").attr("class","zxx_image_list");
    				var picSrc = $("<img></img>").attr("src",$img[count]).attr("class","zxx_image");
    				picHref.append(picSrc);
                    picHref.appendTo($("#jqCover"));
                    
                    //vm way
                    mvvmImg.imgArr.push($img[count]);
    
    				count++;
    			}
    		};
    		$("#add").click(function(){
    			addImg();							
    		});
        </script>
    
    </body>
    </html>
    

      

      

  • 相关阅读:
    通过系统配置来提高ASP.NET应用程序的稳定性
    设置localhost文件
    打击啊,看过的东西怎么就记不住呢???
    用.Net开发Windows服务初探
    在项目中设立里程碑有哪些好处&基础架构的开发任务&试运行的部署
    C#中构造函数和析构函数的用法
    ASP.NET1.0升级ASP.NET2.0的问题总结
    误删Oracle数据库实例的控制文件
    Embedding Google Earth in a C# Application (转载)
    教你如何克隆Oracle 10g数据库,冷备份方式(图文版)(转载)
  • 原文地址:https://www.cnblogs.com/lemon-zhang/p/7992567.html
Copyright © 2011-2022 走看看