zoukankan      html  css  js  c++  java
  • Dojo:主题(theme)切换以及Div蒙板覆盖

    主题的切换本质上来说即使:1、图片的改变;2、颜色的改变。

    以上两点都是可以css控制的,所以在设计之初,就应该把需要被主题控制的css统一到一个css文件中,同一个主题的图片也要分开归类文件夹。

    下面说一下Dojo的主题切换实现:

    Html片段:

        <link id="firstTheme" rel="stylesheet" type="text/css" href="/dojo/css/firstTheme.css" ></link> 
        <link id="secondTheme" rel="stylesheet" type="text/css" href="/dojo/css/secondTheme.css" disabled="true"></link> 
        <link id="thirdTheme" rel="stylesheet" type="text/css" href="/dojo/css/thirdTheme.css" disabled="true"></link> 

    从linked引入的css文件,有disabled属性可以控制css是否可用。

    JS片段:

    function changeThemes(newThemes){
        dojo.forEach(dojo.query("link"),function(link_theme){
            if(link_theme.id != newThemes){
                link_theme.disabled = true;
            }else{
                link_theme.disabled = false;    
            }
        })
        
    }

    通过对changeThemes("secondTheme")的调用,即实现了对link标签disabled属性的改变。

    切换html,含方便的div半透明蒙板实现,下一步工作既是将之构成dojo类:

    View Code
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>主题</title>
    <style>
    .theme,.cover{
        position:absolute;
        width:200px;
        height:160px;
    }
    div.container{
        position:relative;
        width:200px;
        height:160px;
        float:left;
        margin-left:10px;
        }
    div.cover{
        background-color:#333;
        opacity: 0.0;
        }
    b.description{
        position:absolute;
        left:38%;
        top:40%;
        font-size:15px;
        color:#FFF;
        }
    </style>
    <script type="text/javascript"> 
    
            dojo.require("dojo.fx"); 
             
            dojo.query("div.cover").connect("mouseover",function(){
                dojo.animateProperty({ 
                 node: this, 
                 duration:1000, 
                    properties: {  
                        opacity: 0.5  
                    } 
                }).play();
                });
            dojo.query("div.cover").connect("mouseout",function(){
                dojo.animateProperty({ 
                 node: this, 
                 duration:1000, 
                    properties: {  
                        opacity: 0 
                    } 
                }).play();
                });
             </script> 
    
    </head>
        <body>
            <div class="container">
                <img class="theme" src="/dojo/resource/image/firstTheme/preview.jpg" /> 
                <div class="cover" onClick="changeThemes('firstTheme')"><b class="description">--黑色--</b></div>
            </div>
            <div class="container">
                <img class="theme" src="/dojo/resource/image/secondTheme/preview.jpg" />
                <div class="cover" onClick="changeThemes('secondTheme')"><b class="description">--蓝色--</b></div>
            </div>
            <div class="container">
                <img class="theme" src="/dojo/resource/image/thirdTheme/preview.jpg" /> 
                <div class="cover" onClick="changeThemes('thirdTheme')"><b class="description">--红色--</b></div>
            </div>
        </body>
    </html>
  • 相关阅读:
    51Nod 1016 水仙花数 V2(组合数学,枚举打表法)
    April Fools Contest 2017 题解&源码(A,数学 B,数学 C,数学 D,字符串 E,数字逻辑 F,排序,卡时间,G,数学)
    统计0到n之间1的个数[数学,动态规划dp](经典,详解)
    hihoCoder #1082 : 然而沼跃鱼早就看穿了一切(字符串处理)
    洛谷 P1876 开灯(思维,枚举,规律题)
    Codeforces 789A Anastasia and pebbles(数学,思维题)
    51Nod 1182 完美字符串(字符串处理 贪心 Facebook Hacker Cup选拔)
    机器学习(Machine Learning)&深度学习(Deep Learning)资料
    看一下你在中国属于哪个阶层?
    python读取mnist
  • 原文地址:https://www.cnblogs.com/anrainie/p/2548830.html
Copyright © 2011-2022 走看看