网页小技巧之星座运势

思路:使用select下拉菜单选择各种不同星座,然后用对应的onchage事件改变对应的星座图片和今日运势和内容详解。
关键知识:select元素,onchange事件,定位(用定位实现运势星星颗数的增减)
具体代码:
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>星座运势</title>
    <style type="text/css">
        .box {
            width: 350px;
            height: 200px;
            border: 1px solid #ccc;
            margin: 100px auto;
        }
        .dt {
            padding: 0 0 0 10px;
            font-weight: bold;
        }
        .mt {
            overflow: hidden;
        }
        .icon {
            margin: 0 10px;
            float: left;
            width: 50px;
            height: 50px;
            background: url(images/astroIcon.png) no-repeat;
        }
        .menu {
            float: left;
        }
        .yunshi{
            width: 80px;
            height: 13px;
            display: inline-block;
            background: url(images/yunshi.png) no-repeat;
            position: relative;
        }
        .star{
            width: 80px;
            height: 13px;
            display: inline-block;
            background: url(images/yunshi.png) no-repeat left bottom;
            position: absolute;
            left: 0;
            top: 0;
        }
    </style>
</head>
<body>
      <div class="box">
        <div class="dt">星座运势</div>
        <div class="dd">
            <div class="mt">
                <div class="icon" id="ico"></div>
                <div class="menu">
                    <select name="" id="sele">
                        <option value="0">白羊座(03.21-04.19)</option>
                        <option value="1">金牛座(04.20-05.20)</option>
                        <option value="2">双子座(05.21-06.21)</option>
                        <option value="3">巨蟹座(06.22-07.22)</option>
                        <option value="4">狮子座(07.23-08.22)</option>
                        <option value="5">处女座(08.23-09.22)</option>
                        <option value="6">天秤座(09.23-10.23)</option>
                        <option value="7">天蝎座(10.24-11.22)</option>
                        <option value="8">射手座(11.23-12.21)</option>
                        <option value="9">摩羯座(12.22-01.19)</option>
                        <option value="10">0瓶座(01.20-02.18)</option>
                        <option value="11">双鱼座(02.19-03.20)</option> 
                    </select>
                    <div>
                        今日运势:
                        <span class="yunshi">
                            <span class="star" id="star"></span>
                        </span>
                        
                    </div>
                </div>
            </div>
            <div class="md" id="content">心情不好的一天。如果说前段时间一直以来感觉自己被忽视,那么今天更会觉得自己好像被另一半背叛...[详细]</div>
        </div>
      </div>
</body>
<script>
    function $(id){
        return document.getElementById(id);
    }
    console.log($('content').innerHTML);
    var numArr = [10,9,7,8,9,7,9,8,9,9,7,4,9];//今日运势对应星座分数
    var txtArr = ["心情不好的一天。如果说前段时间一直以来感觉自己被忽视,那么今天更会觉得自己好像被另一半背叛...[详细]","充满兴趣的一天。或许今天会想要好好娱乐一下。但是要注意不要玩得太疯狂导致精力不足钱包空空哦...[详细]","今天是没什么心思做事的一天。有孩子/宠物的朋友要注意孩子和宠物的健康问题。今天也会觉得呼吸...[详细]","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略","xxx座内容,暂时省略"];//对应星座运势分析
    var sele = $('sele');
    sele.onchange = function(){
        $('ico').style.backgroundPosition = "0 "+(-this.value*50)+"px";//更换对应星座图片
        $('star').style.width = numArr[this.value]*8+"px";
        //盒子宽80px,分成10分(满分10分),每份8px;更换对应星星颗数
        $('content').innerHTML = txtArr[this.value];//更换对应内容
    }
</script>
</html>

具体效果可见:星座运势

猜你喜欢

转载自blog.csdn.net/lyxuefeng/article/details/81176692
今日推荐