效果图:

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. c++面向对象 —— 类和对象

    类和对象 类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法.类中的数据和方法称为类的成员.函数在一个类中被称为类的成员. 一.类定义 实际上并没有定义任何数据,但它定义了类的名称意味着什么 ...

  2. Java 浮点数的范围和精度

    本篇先介绍IEEE754标准中针对浮点数的规范,然后以问答形式补充有关浮点数的知识点. (一)IEEE754标准 IEEE 754 标准即IEEE浮点数算术标准,由美国电气电子工程师学会(IEEE)计 ...

  3. jira:恢复数据:AO_187CCC_SIDEBAR_LINK

    JIRA 恢复数据时报错 ,关键词是找不到 AO_187CCC_SIDEBAR_LINK. 经网上查为 mysql connect jar 包 的版本过高所致. 降低版本后,成功导入数据.

  4. mybatis 批量操作 ------持续更新

    mybatis 不存在则才进行添加 # 添加的 sql 语句insert into sys_link_post_user(post_id,user_id)# 进行批量添加 (若不需要可以取消 froe ...

  5. vue-loader介绍和单页组件介绍

    $ \es6\sing-file>  npm install vue-loader@14.1.1 -D vue-template-compiler@2.5.17 -D npm install v ...

  6. Codeforces Round #589 (Div. 2) (e、f没写)

    https://codeforces.com/contest/1228/problem/A A. Distinct Digits 超级简单嘻嘻,给你一个l和r然后寻找一个数,这个数要满足的条件是它的每 ...

  7. Java作业 题目:16版.情人节送玫瑰花

    题目:16版.情人节送玫瑰花 题干: 1.实验要求 本实验要求:以情人节送花为业务背景,体验自定义异常以及异常处理机制. 1-1. 业务说明: 1-1.1. 本实验以情人节送花为业务背景,女方提出送花 ...

  8. centos7搭建单机redis5.0

    目录 1. redis初步安装 2. 配置 3. 设置开机启动(centos6) 3.1 编写启动脚本 3.2 设置权限 3.3 启动测试 3.4 设置开机自启动 4. 设置开机启动(centos7) ...

  9. 从入门到自闭之python三大器--装饰器

    开放封闭原则:在不修改源代码及调用方式,对功能进行额外添加就是开放封闭原则 开放:对代码的扩展进行开发 封闭:修改源代码 装饰(额外功能) 器:工具(函数) 普通版: # print(time.tim ...

  10. 解决sudo用户找不到环境变量的问题

    出于安全方面的考虑,使用sudo执行命令将在一个最小化的环境中执行,环境变量都重置成默认状态.所以PATH这个变量不包括用户自定义设置的内容 在sudo用户的主目录里的.bashrc中添加如下内容即可 ...