效果图:

html:

css:

.an{
margin-top:0px;
position: relative;
.popzframe,.popcframe{
display: none;
word-wrap: break-word;
position: absolute;
left:333px;
top:85px;
width: 120px;
height: 60px;
border:1px solid #e9e9e9;
background-color: #fff;
box-shadow: 4px 4px 7px -2px #888;
text-align: center;
vertical-align: middle;
.log{
display: inline-block;
margin-top: 20px;
span{
color: #FB452F;
font-weight: bold;
}
}
}
.popzgframe,.popcgframe{
display: none;
word-wrap: break-word;
position: absolute;
left:333px;
top:85px;
width: 130px;
height: 60px;
border:1px solid #e9e9e9;
background-color: #fff;
box-shadow: 4px 4px 7px -2px #888;
padding-left: 20px;
vertical-align: middle;
.log{
display: inline-block;
margin-top: 15px;
span{
color: #FB452F;
font-weight: bold;
}
}
.havecomment{
font-size: 12px;
}
}
.popcframe,.popcgframe{
left:457px;
}
.view{
display: inline-block;
text-align: center;
width:100px;
height:30px;
background:#FB452F;
border-radius:2px;
margin-right: 20px;
color:#fff;
font-size: 14px;
line-height: 30px;
margin-top:53px;
outline: none;
}
.dz{
margin-left: 333px;
&:hover{
cursor: pointer;
background: #FF5844;
}
}
.cc{
&:hover{
cursor: pointer;
background: #FF5844;
}
}
.ds{
background:#FFA42D;
&:hover{
cursor: pointer;
background: #FFAF48;
}
}
}
 
 
js:
//楼主处按钮
    //说明:点赞和踩是互斥的,并且只能点一次
    host(){
         //给楼主的点赞
         var onoff=true;
         var gate =true;
        $(".hostdz").click(function(){
            //两者都为真时,是没有按钮点击过,所以可以点击
            if(onoff && gate){
                var num=$(".hostdznum")[0].innerHTML;
                num++;
                //一个人只能点击一次,所以点击过的按钮就设置为false
                onoff=false;
                //点赞次数窗口下滑
                $(".hostdznum")[0].innerHTML=num;
                $(".popzframe").slideDown();
                $(".popzframe .log span")[0].innerHTML=num;
                //点赞次数窗口下滑三秒后收起来
                setTimeout(function(){
                    $(".popzframe").slideUp();
                },2000) 
                //当onoff按钮被点击后(false),那么踩踩按钮点击时,就会弹出已经评价过的窗口
                if(onoff){
                }else{                  
                    //给楼主的踩
                    $(".hostdown").click(function(){
                        $(".popcgframe").slideDown();
                        $(".popcgframe .log span")[0].innerHTML=$(".popzframe .log span")[0].innerHTML;
                        setTimeout(function(){
                            $(".popcgframe").slideUp();
                        },2000)
                    })
                
             }
            }else{
                //如果有按钮被点击过,那么弹出窗口都是已经点击过               
                //第二次点击点赞按钮(gate)
                $(".popzgframe .log span")[0].innerHTML=$(".popzframe .log span")[0].innerHTML;
                $(".popzframe").slideUp();
                $(".popzgframe").slideDown();
                setTimeout(function(){
                    $(".popzgframe").slideUp();
                },2000)                             
            }   
        })
         //给楼主的踩
         $(".hostdown").click(function(){
             if(onoff && gate){
                var num=$(".hostdownnum")[0].innerHTML;
                num++;
                gate=false;//设置只能点击一次
                $(".hostdownnum")[0].innerHTML=num;
                $(".popcframe").slideDown();
                $(".popcframe .log span")[0].innerHTML=num;
                setTimeout(function(){
                    $(".popcframe").slideUp();
                },2000)
                if(gate){
                }else{
                    //给楼主的赞
                     $(".hostdz").click(function(){
                        console.log(9999)
                        $(".popzgframe").slideDown();
                        $(".popzgframe .log span")[0].innerHTML=$(".popcframe .log span")[0].innerHTML;
                        setTimeout(function(){
                            $(".popzgframe").slideUp();
                        },2000)
                    })  
                }
             }else{
                    //第二次点击踩按钮(onoff)
                    $(".popcgframe .log span")[0].innerHTML=$(".popcframe .log span")[0].innerHTML;
                    $(".popcframe").slideUp();
                    $(".popcgframe").slideDown();
                    setTimeout(function(){
                        $(".popcgframe").slideUp();
                    },2000)                 
             }
            
        })
    }

工作笔记--js-点赞按钮和踩踩按钮互斥??怎么写?的更多相关文章

  1. 工作笔记——js前端规范

    去年年末做了一个项目,因为第一次做前端管理职位,第一次做整个项目的前端架构很多东西都不熟悉,作为一次大胆的尝试. js方面的只有一个坑,那就是前端与后端的网络层封装,这一块是在后端的协助下开发的.网络 ...

  2. 工作笔记——js与文件上传下载

    1 js判断上传文件的后缀名,文件大小 //判断照片大小 function getPhotoSize(obj){ photoExt=obj.value.substr(obj.value.lastInd ...

  3. amazeui学习笔记--js插件(UI增强2)--按钮交互Button

    amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...

  4. [转载]ExtJs4 笔记(5) Ext.Button 按钮

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  5. CSS3和js炫酷点击按钮3D翻转动画特效

    简要教程 flipside是一款使用CSS3和js制作的炫酷点击按钮无缝过渡到确认面板的过渡动画特效.该点击按钮特效在按钮不同方向的边部点击时,产生的过渡动画特效是不一样的. 在线预览   源码下载 ...

  6. 一个很不错的支持Ext JS 4的上传按钮

    以前经常使用的swfUpload,自从2010年开始到现在,很久没更新了.而这几年,flash版本已经换了好多个,所以决定抛弃swfupload,使用新找到的上传按钮. 新的上传按钮由harrydel ...

  7. clips 前端 js 倒计时 获取验证码的按钮

    <a href="javascript:void(0);" onclick="get_captcha()" class="btn btn-def ...

  8. EasyUI笔记(四)菜单和按钮

    本系列只列出一些常用的属性.事件或方法,具体完整知识请查看API文档 Menu(菜单) 菜单组件通常用于快捷菜单.他是构建其他菜单组件的必备基础组件.比如:menubutton和splitbutton ...

  9. Sencha Touch2 工作笔记

    Sencha Touch2 工作笔记 Ext.dataview.List activate( this, newActiveItem, oldActiveItem, eOpts ) Fires whe ...

随机推荐

  1. python 一周总结

    从7月27前就开始了Djangoj框架的学习到今天一个项目实战已经过了一半了, django给我的感觉就像一个成熟的mov 首先是是数据模型层,Django已经成熟的加入了很多的数据模型供我们所使用 ...

  2. Oozie 3.3.1安装

    软件安装路径 软件名称 版本 安装路径 jdk 1.6.0_12 /usr/java/jdk1.6.0_12 maven 3.1.0 /usr/local//apache-maven-3.1.0 Oo ...

  3. [转帖]「白帽黑客成长记」Windows提权基本原理(下)

    「白帽黑客成长记」Windows提权基本原理(下) https://www.cnblogs.com/ichunqiu/p/10968674.html 提权.. 之前还在想 为什么 我的 sqlserv ...

  4. next_permutation() 全排列函数

    next_permutation() 全排列函数 这个函数是STL自带的,用来求出该数组的下一个排列组合 相当之好用,懒人专用 适用于不想自己用dfs写全排列的同学(结尾附上dfs代码) 洛谷oj可去 ...

  5. 04: CI(持续集成)/CD(持续交付/持续部署)

    1.1 持续集成.持续交付 介绍   参考博客:https://www.cnblogs.com/cay83/p/8856231.html 1.传统交付 1. 传统软件的开发与交付的周期都很漫长,从需求 ...

  6. mysql 表相关操作(1)

    查询语句 select * from t_deptselect empno,ename,sal from t_emp select    empno,   sal * 12 as "inco ...

  7. LeetCode_9_回文数字

    回文数(LeetCode 9) 1.题目 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: - ...

  8. Exceptionless

    参考 Exceptionless - .Net Core开源日志框架

  9. sql server 函数详解(2)数学函数

    绝对值函数ABS(x)和返回圆周率的函数PI() 平方根函数SQRT(x) 获取随机函数的函数RAND()和RAND(x) 四舍五入函数ROUND(x,y) 符号函数SIGN(x) 获取整数的函数CE ...

  10. CF Gym102028G Shortest Paths on Random Forests

    传送门 这题要求的期望,就是总权值(所有不在同一个连通块点对的贡献+同一连通块点对的贡献)/总方案(森林个数) 先求森林个数,森林是由一堆树组成的,而根据purfer序列,一棵\(n\)个点的有标号的 ...