以下是 Facebook表情符号jQuery插件特效代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Facebook表情符号jQuery插件</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="css/zzsc-demo.css">
<link href="css/faceMocion.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.contanier{
min-height: 500px;
text-align: center;
}
.mt50{margin-top: 50px}
.pd30{padding: 30px}
</style>
</head>
<body>
<div class="zzsc-container">
<h3 class="center">使用鼠标滑过下面的表情符合,可以选择一个表情来切换。</h3>
<div class="contanier">
<div class="row">
<div class="col-md-8 col-md-offset-4 col-xs-12 mt50 pd30">
<input type="hidden" value="amo" class="prueba"/>
</div>
<div class="col-md-8 col-md-offset-4 col-xs-12 mt50 pd30">
<input type="hidden" value="asombro" class="otro"/>
</div>
</div>
</div>
</div>
<script src="js/jquery-2.1.1.min.js" type="text/javascript"></script>
<script src="js/faceMocion.js"></script>
<script type="text/javascript">
$(function(){
$(".otro").faceMocion();
$('.prueba').faceMocion();
})
</script>
</body>
</html>
JS代码(faceMocion.js):
$.fn.extend({
faceMocion:function(opciones){
var faceMocion=this;
var NombreSelector="Selector";
var DescripcionFace="--";
defaults ={
emociones:[{
"emocion":"amo","TextoEmocion":"Lo amo"}
,{
"emocion":"molesto","TextoEmocion":"Me molesta"}
,{
"emocion":"asusta","TextoEmocion":"Me asusta"}
,{
"emocion":"divierte","TextoEmocion":"Me divierte"}
,{
"emocion":"gusta","TextoEmocion":"Me gusta"}
,{
"emocion":"triste","TextoEmocion":"Me entristece"}
,{
"emocion":"asombro","TextoEmocion":"Me asombra"}
,{
"emocion":"alegre","TextoEmocion":"Me alegra"}
]}
;
var opciones = $.extend({
}
,defaults,opciones);
$(faceMocion).each(function( index ){
var UnicoID = Date.now();
$(this).attr("class",$(faceMocion).attr("class")+" "+UnicoID);
var EstadoInicial="alegre";
if($(this).val()!=""){
EstadoInicial=$(this).val();
}
else{
$(this).val('alegre');
}
DescripcionFace=EstadoInicial;
ElementoIniciar='';
ElementoIniciar=ElementoIniciar+'<div dato-descripcion="'+DescripcionFace+'" ';
ElementoIniciar=ElementoIniciar+'id-referencia="'+UnicoID;
ElementoIniciar=ElementoIniciar+'" class="'+NombreSelector;
ElementoIniciar=ElementoIniciar+' selectorFace '+EstadoInicial+'"></div>';
$(this).before(ElementoIniciar);
}
);
$(document).ready(function(){
BarraEmociones='<div class="faceMocion">';
$.each(opciones.emociones,function(index,emo ){
BarraEmociones=BarraEmociones+'<div dato-descripcion="'+emo.TextoEmocion;
BarraEmociones=BarraEmociones+'" class="'+emo.emocion+'"></div>';
}
);
BarraEmociones=BarraEmociones+'</div>';
$(document.body).append(BarraEmociones);
$('.faceMocion div').hover(function(){
var title = $(this).attr('dato-descripcion');
$(this).data('tipText',title).removeAttr('dato-descripcion');
$('<p class="MensajeTexto"></p>').text(title).appendTo('body').fadeIn('slow');
}
,function(){
$(this).attr('dato-descripcion',$(this).data('tipText'));
$('.MensajeTexto').remove();
}
).mousemove(function(e){
var RatonX = e.pageX - 20;
var RatonY = e.pageY - 60;
$('.MensajeTexto').css({
top:RatonY,left:RatonX}
)}
);
}
);
$( '.'+NombreSelector ).hover(function(e){
SelectorEmocion= $(this);
var RatonX = e.pageX - 20;
var RatonY = e.pageY - 60;
$( ".faceMocion" ).css({
top:RatonY,left:RatonX}
);
$( ".faceMocion" ).show();
$( ".faceMocion div" ).click(function(){
SelectorEmocion.attr("class",NombreSelector+" selectorFace "+$(this).attr('class'));
ElInputSeleccionado=SelectorEmocion.attr("id-referencia");
$("."+ElInputSeleccionado).val($(this).attr('class'));
}
);
}
);
$(document).mouseup(function (e){
$( ".faceMocion" ).hide();
}
);
$(faceMocion).hide();
}
}
);
CSS代码(faceMocion.css):
.faceMocion{display:none;padding-bottom:8px;padding-top:8px;padding-right:8px;padding-left:0px;box-sizing:border-box;background:white;color:white;position:absolute;width:auto;height:65px;line-height:25px;border-radius:50px;transition:.25sease-in-out;color:black;border:1px solid #eee;-webkit-box-shadow:4px 4px 21px -9px rgba(0,0,0,0.75);-moz-box-shadow:4px 4px 21px -9px rgba(0,0,0,0.75);box-shadow:4px 4px 21px -9px rgba(0,0,0,0.75);}
.faceMocion div{margin-left:8px;float:left;width:48px;height:48px;cursor:pointer;transition:all 0.2s ease;}
.selectorFace{margin-left:8px;float:left;width:48px;height:48px;cursor:pointer;transition:all 0.2s ease;}
.faceMocion div:hover{-webkit-transform:scale(1.25);-moz-transform:scale(1.25);-ms-transform:scale(1.25);-o-transform:scale(1.25);transform:scale(1.25);}
.molesto{margin-left:8px;float:left;width:48px;height:48px;background:url(../img/sqhTN9lgaY1.png) 0 0;}
.asusta{background:url(../img/sqhTN9lgaY1.png) 0 -48px;}
.divierte{background:url(../img/sqhTN9lgaY1.png) 0 -96px;}
.gusta{background:url(../img/sqhTN9lgaY1.png) 0 -144px;}
.amo{background:url(../img/sqhTN9lgaY1.png) 0 -192px;}
.triste{background:url(../img/sqhTN9lgaY1.png) 0 -240px;}
.asombro{background:url(../img/sqhTN9lgaY1.png) 0 -288px;}
.alegre{background:url(../img/sqhTN9lgaY1.png) 0 -336px;}
.MensajeTexto{display:none;position:absolute;border:1px solid #333;background-color:#161616;border-radius:5px;padding:3px;color:#fff;font-family:sans-serif;font-size:12px;}
.IconoPequenio{width:24px;height:24px;background-size:24px;background-repeat:no-repeat;}
CSS代码(zzsc-demo.css):
@import url(http://fonts.useso.com/css?family=Raleway:200,500,700,800);@font-face{font-family:'icomoon';src:url('../fonts/icomoon.eot?rretjt');src:url('../fonts/icomoon.eot?#iefixrretjt') format('embedded-opentype'),url('../fonts/icomoon.woff?rretjt') format('woff'),url('../fonts/icomoon.ttf?rretjt') format('truetype'),url('../fonts/icomoon.svg?rretjt#icomoon') format('svg');font-weight:normal;font-style:normal;}
[class^="icon-"],[class*=" icon-"]{font-family:'icomoon';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;/* Better Font Rendering =========== */
-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body,html{font-size:100%;padding:0;margin:0;}
/* Reset */
*,*:after,*:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
/* Clearfix hack by Nicolas Gallagher:http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before,.clearfix:after{content:" ";display:table;}
.clearfix:after{clear:both;}
body{background:#494A5F;color:#D5D6E2;font-weight:500;font-size:1.05em;font-family:"Microsoft YaHei","宋体","Segoe UI","Lucida Grande",Helvetica,Arial,sans-serif,FreeSans,Arimo;}
a{color:#2fa0ec;text-decoration:none;outline:none;}
a:hover,a:focus{color:#74777b;}
.zzsc-container{margin:0 auto;overflow:hidden;}
.bgcolor-1{background:#f0efee;}
.bgcolor-2{background:#f9f9f9;}
.bgcolor-3{background:#e8e8e8;}
/*light grey*/
.bgcolor-4{background:#2f3238;color:#fff;}
/*Dark grey*/
.bgcolor-5{background:#df6659;color:#521e18;}
/*pink1*/
.bgcolor-6{background:#2fa8ec;}
/*sky blue*/
.bgcolor-7{background:#d0d6d6;}
/*White tea*/
.bgcolor-8{background:#3d4444;color:#fff;}
/*Dark grey2*/
.bgcolor-9{background:#ef3f52;color:#fff;}
/*pink2*/
.bgcolor-10{background:#64448f;color:#fff;}
/*Violet*/
.bgcolor-11{background:#3755ad;color:#fff;}
/*dark blue*/
.bgcolor-12{background:#3498DB;color:#fff;}
/*light blue*/
.bgcolor-20{background:#494A5F;color:#D5D6E2;}
/* Header */
.zzsc-header{padding:1em 190px 1em;letter-spacing:-1px;text-align:center;background:#66677c;}
.zzsc-header h1{color:#D5D6E2;font-weight:600;font-size:2em;line-height:1;margin-bottom:0;font-family:"Microsoft YaHei","宋体","Segoe UI","Lucida Grande",Helvetica,Arial,sans-serif,FreeSans,Arimo;}
.zzsc-header h1 span{font-family:"Microsoft YaHei","宋体","Segoe UI","Lucida Grande",Helvetica,Arial,sans-serif,FreeSans,Arimo;display:block;font-size:60%;font-weight:400;padding:0.8em 0 0.5em 0;color:#c3c8cd;}
/*nav*/
.zzsc-demo a{color:#fff;text-decoration:none;}
.zzsc-demo{width:100%;padding-bottom:1.2em;}
.zzsc-demo a{display:inline-block;margin:0.5em;padding:0.6em 1em;border:3px solid #fff;font-weight:700;}
.zzsc-demo a:hover{opacity:0.6;}
.zzsc-demo a.current{background:#1d7db1;color:#fff;}
/* Top Navigation Style */
.zzsc-links{position:relative;display:inline-block;white-space:nowrap;font-size:1.5em;text-align:center;}
.zzsc-links::after{position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:100%;background:#dbdbdb;content:'';-webkit-transform:rotate3d(0,0,1,22.5deg);transform:rotate3d(0,0,1,22.5deg);}
.zzsc-icon{display:inline-block;margin:0.5em;padding:0em 0;width:1.5em;text-decoration:none;}
.zzsc-icon span{display:none;}
.zzsc-icon:before{margin:0 5px;text-transform:none;font-weight:normal;font-style:normal;font-variant:normal;font-family:'icomoon';line-height:1;speak:none;-webkit-font-smoothing:antialiased;}
/* footer */
.zzsc-footer{width:100%;padding-top:10px;}
.zzsc-small{font-size:0.8em;}
.center{text-align:center;}
/****/
.related{color:#fff;background:#494A5F;text-align:center;font-size:1.25em;padding:0.5em 0;overflow:hidden;}
.related > a{vertical-align:top;width:calc(100% - 20px);max-width:340px;display:inline-block;text-align:center;margin:20px 10px;padding:25px;font-family:"Microsoft YaHei","宋体","Segoe UI","Lucida Grande",Helvetica,Arial,sans-serif,FreeSans,Arimo;}
.related a{display:inline-block;text-align:left;margin:20px auto;padding:10px 20px;opacity:0.8;-webkit-transition:opacity 0.3s;transition:opacity 0.3s;-webkit-backface-visibility:hidden;}
.related a:hover,.related a:active{opacity:1;}
.related a img{max-width:100%;opacity:0.8;border-radius:4px;}
.related a:hover img,.related a:active img{opacity:1;}
.related h3{font-family:"Microsoft YaHei",sans-serif;}
.related a h3{font-weight:300;margin-top:0.15em;color:#fff;}
/* icomoon */
.icon-zzsc-home-outline:before{content:"\e5000";}
.icon-zzsc-arrow-forward-outline:before{content:"\e5001";}
@media screen and (max-width:50em){.zzsc-header{padding:3em 10% 4em;}
.zzsc-header h1{font-size:2em;}
}
@media screen and (max-width:40em){.zzsc-header h1{font-size:1.5em;}
}
@media screen and (max-width:30em){.zzsc-header h1{font-size:1.2em;}
}