zoukankan      html  css  js  c++  java
  • 悬浮数字的实现

    有时候新闻或者消息提示有几条,可以用absolute定位来实现效果。

    原理是什么呢?

    1.获取数字或者状态。

    function getnewscount(){
            $time = date("Y-m-d",strtotime("-3 day"));
            $where["News.checkked = ?"] = array("val"=>1 , "type"=>1);
            $where["News.UpdateTime >= ?"] = array("val"=>$time,"type"=>1);//'2014-01-10'
            $news = $this->dao_news->getNews($where);
            return count($news);
        }
    
        function getstatus($user_id){
            $where["lx_messageto.user_id = ?"] = array("val"=>$user_id , "type"=>1);
            $where["lx_messageto.status = ?"] = array("val"=>1,"type"=>1);
            $message = $this->dao_message->getMessageTo($where);
            return count($message);
        }

    2.前端处理显示。用js处理。

    <div style="position:absolute;" class="status1">
                <!--{if $statusCount neq ""}--> 
                <div class="status_num">
                <!--{$statusCount}-->
                </div>
                <!--{/if}-->
            </div>
    
            <div style="position:absolute;" class="status2">
                <!--{if $newsCount neq ""}--> 
                <div class="status_icon">
                <img src="/images/common/new.png">
                </div>
                <!--{/if}-->
            </div>

    css

    .status_num{
        position:absolute; 
        left:70px; top:0px;
        background-image: -webkit-gradient(linear, 0 0, 0 bottom, from(rgba(234, 87, 122, 1)), to(rgba(136, 4, 25, 1))); 
        height:30px; line-height:30px; 
        vertical-align:middle; 
        font-family:Verdana, Geneva, sans-serif; color:#fff; 
        font-size:14px;-webkit-border-radius:30px; 
        padding:0px 10px; margin-left:20px;
        -webkit-box-shadow:1px 1px 3px #999;}
    
    .status_icon{
        position:absolute; 
        left:70px; top:0px;
    }

    js处理

    $(function() {
                aMess = $("a[href ^= '/message']");
                aNews = $("a[href ^= '/news/index']");
                var status = $(".status1");
                var statusnews = $(".status2");
                aNews.prepend(statusnews);
                aMess.prepend(status); //处理消息的           
            });

    3.或者用ajax获取数据ajax处理

    $(function() {
                if( $("a[href *= '/news/mgr']") != " " ){
                  aNews = $("a[href *= '/news/mgr']") ;
                  $.ajax({
                        dataType:'html',
                        type:"POST",
                        url:"/default/index/ajaxgetnewstatus",
                        success:function(msg){
                            if(msg > 0){
                            var num = '<div style="position:absolute;" class="status1">'
                                    +'<div class="status_num">'+msg+'</div></div>';
                            aNews.prepend(num);}
                        }
                  });
                };
            });        
  • 相关阅读:
    解析网页源码方式
    vue踩坑--细节决定成败
    fallowing-travelvue
    学会不怕
    eslint代码规范检测
    三次握手+四次挥手
    小白的学习笔记
    es6数组
    css知识整理
    JavaScript之事件循环,宏任务与微任务
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/3518666.html
Copyright © 2011-2022 走看看