效果图:

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. Pandas中关于 loc \ iloc 用法的理解

    转载至:https://blog.csdn.net/w_weiying/article/details/81411257 loc函数:通过行索引 "Index" 中的具体值来取行数 ...

  2. 【VS开发】动态创建ActiveX控件

    bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) {  CLSID clsid;  wstri ...

  3. docker安装jenkins自动化部署

    Docker之Jenkins自动化部署 1.拉取jenkins镜像images(类比:java中的类) docker pull jenkinsci/jenkins:lts 或 docker pull ...

  4. MySQL数据库的常见操作

    1.查看所有的数据库 1 show databases; 2.创建数据库  后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...

  5. HDU 1029 Ignatius and the Princess IV (动态规划、思维)

    Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32767 K ( ...

  6. [转帖]小米手环采用RISC-V 指令集芯片

    小米手环4或用“黄山一号”芯片,雷军再回前线,未来走向如何 静心科技 06-1111:19 忘记来源地址了 不过国内的很多东西都是有中国特色的 比如飞腾 比如麒麟(银河麒麟 还有华为的麒麟 980) ...

  7. 网页嵌入pdf、在线预览pdf工具及插件(转)

    摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...

  8. Python 入门之 内置模块 -- datetime模块

    Python 入门之 内置模块 -- datetime模块 1.datetime模块 from datetime import datetime (1)datetime.now() 获取当前时间和日期 ...

  9. vue 实践技巧合集

    前言 本文纯属个人平时实践过程中的一些经验总结,算是一点点小技巧吧,不是多么高明的技术,如果对你有帮助,那么不胜荣幸. 本文不涉及罕见API使用方法等,大部分内容都是基于对vue的一些实践而已.由于涉 ...

  10. day 02 while 循环 格式化输出 运算符 and or not - 编码的初识

    while 循环 while 条件:    循环体 循环如何终止? 改变条件. flag = Truewhile flag:    print('狼的诱惑')    print('我们不一样')   ...