Home >Web Front-end >JS Tutorial >Javascript achieves online customer service effect_javascript skills
Online customer service systems are used in a large number of websites, especially sales websites, which can effectively increase the availability of the website and facilitate customers to contact merchants in a timely manner, thus increasing the possibility of successful transactions. The implementation methods of online customer service systems are as follows There are many kinds. Here we introduce a common and very beautiful customer service system on the Internet, so as to achieve the purpose of drawing inferences from one example and making it easier to implement other forms of customer service systems. The code example is as follows:
CSS
<style type="text/css"> body { margin:0px } .main_head { background:url(mytest/JS/img3-5_2.png) no-repeat; } *html .main_head { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="mytest/JS/img3-5_2.png", sizingMethod='crop'); background:none transparent scroll repeat 0% 0%; } * + html .main_head { background:url(mytest/JS/img3-5_2.png) no-repeat; } .info { padding-bottom:10px; padding-left:0px; padding-right:0px; background:url(mytest/JS/img3-5_3.png) repeat-y; padding-top:5px } * html .info { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="mytest/JS/img3-5_3.png", sizingMethod='crop'); background-repeat:repeat-y; } * + HTML .info { padding-bottom:10px; padding-left:0px; padding-right:0px; background:url(mytest/JS/img3-5_3.png) repeat-y; padding-top:5px; } .down_kefu { width:157px; background:url(mytest/JS/img3-5_4.png) no-repeat; height:8px } * html .down_kefu { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="mytest/JS/img3-5_4.png", sizingMethod='crop'); width:157px; background-repeat:repeat-y; height:8px } * + HTML .down_kefu { width:157px; background:url(mytest/JS/img3-5_4.png) no-repeat; height:8px } .Obtn { margin-top:104px; width:32px; background:url(mytest/JS/img3-5_1.png) no-repeat; float:left; height:139px; margin-left:-5px } * HTML .Obtn { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="mytest/JS/img3-5_1.png", sizingMethod='crop'); width:32px; background:none transparent scroll repeat 0% 0%; float:left; height:139px } * + html .Obtn { margin-top:104px; width:32px; background:url(mytest/JS/img3-5_1.png) no-repeat; float:left; height:139px; margin-left:-5px; } .qqtable span { padding-bottom:5px; line-height:20px; padding-left:0px; width:100px; padding-right:0px; color:#ff6600; font-size:13px; font-weight:bold; padding-top: 5px } .qqtable a { text-decoration:none; } .qqtable a:hover { text-decoration: none } .qun { border-bottom:#ffd2bf 1px solid; border-left:#ffd2bf 1px solid; padding-bottom:5px; line-height:20px; background-color:#ffffff; padding-left:0px; width:100px; padding-right:0px; font-size:12px; border-top:#ffd2bf 1px solid; border-right:#ffd2bf 1px solid; padding-top:5px } .qun span { color:#ff6600; font-size:13px; font-weight:bold; } </style>
html
<div id="softwhy"> <table style="float:left" border="0" cellspacing="0" cellpadding="0" width="157"> <tbody> <tr> <td class="main_head" height="39" valign="top"> </td> </tr> <tr> <td class="info" valign="top"> <table class="qqtable" border="0" cellspacing="0" cellpadding="0" width="120" align="center"> <tbody> <tr> <td align=middle><a href="#" target="_blank"><img border=0 src="mytest/JS/kefu_head.gif"></a></td> </tr> <tr> <td height=5></td> </tr> <tr> <td height=30 align=middle><span>qq:88888888</span></td> </tr> <tr> <td height=30 align=middle><span>qq:88888888</span></td> </tr> <tr> <td height=5></td> </tr> <tr> <td height=35 valign=top align=middle><a href="#" target="_blank"><img border=0 src="mytest/JS/img3-5-btn1.gif" width=90 height=25></a></td> </tr> <tr> <td height=38 valign=top align=middle><a href="#" target="_blank"><img border=0 src="mytest/JS/img3-5-btn2.gif" width=90 height=25></a></td> </tr> <tr> <td align=middle><div class=qun><font color=#9b9b9b>会员交流群</font><br><span>123456</span></div></td> </tr> <tr> <td align=middle><div class=qun><font color=#9b9b9b>商家交流群</font><br><span>654321</span></div></td> </tr> <tr> <td align=middle> </td> </tr> </tbody> </table> </td> </tr> <tr> <td class="down_kefu" valign="top"></td> </tr> </tbody> </table> <div class="Obtn"></div> </div> <div style="height:1000px;"></div>
JS
<script type="text/javascript"> kefu=function(id,_top,_left){ var me=document.getElementById(id); var d1=document.body; var d2=document.documentElement; d1.style.height=d2.style.height='100%'; me.style.top=_top+'px'; me.style.left=_left+"px"; me.style.position='absolute'; function a() { me.style.top=parseInt(me.style.top)+(Math.max(d1.scrollTop,d2.scrollTop)+_top-parseInt(me.style.top))*0.1+'px'; } setInterval(a,10+parseInt(Math.random()*20)); } window.onload=function(){ kefu('softwhy',100,-152) } </script> <script type="text/javascript"> var InterTime=1; var maxWidth=-1; var minWidth=-152; var numInter=10; var BigInter; var SmallInter; var o=document.getElementById("softwhy"); var i=parseInt(o.style.left); function Big() { if(parseInt(o.style.left)<maxWidth) { i=parseInt(o.style.left); i+= numInter; o.style.left=i+"px"; if(i==maxWidth) clearInterval(BigInter); } } function toBig() { clearInterval(SmallInter); BigInter=setInterval(Big,InterTime); } function Small() { if(parseInt(o.style.left)>minWidth) { i=parseInt(o.style.left); i=i-numInter; o.style.left=i+"px"; if(i==minWidth) clearInterval(SmallInter); } } function toSmall() { clearInterval(BigInter); SmallInter=setInterval(Small,InterTime); } </script>
The above code implements the customer service system we want floating on the side of the web page. Here is a brief introduction on how to achieve this effect:
1. Implementation principle:
Set the softwhy object where the entire customer service system is located to absolute positioning, and then set its left attribute value to an appropriate negative value by default, so that its main part will be hidden and only the prompt part will be displayed:
The body part is hidden by default.
The prompt section displayed by default.
When the mouse is placed on the prompt part (that is, on the softwhy object), the corresponding function is called and setInterval() is used to continuously increase the left attribute value to achieve the effect of gradually displaying the main part of the customer service. When the mouse leaves the softwhy object, the corresponding function is called and setInterval() is used to continuously reduce the left attribute value to gradually hide the main part of the customer service.
The value of the top attribute of the softwhy object may be a difficulty here. It enables the customer service system to have a more willful "elastic" feeling when dragging the scroll bar, and can ultimately be fixed at a vertical position 100px from the top of the window. , this effect is achieved by combining the a function and setInterval(a,10 parseInt(Math.random()*20)). Here is a brief introduction to the principle of the a function, which is mainly a mathematical problem:
The effect we want to achieve is that no matter how the scroll bar is dragged, the customer service system will eventually be 100px away from the upper edge of the window in the vertical position. That is to say, as long as the top attribute value is set to d1.scrollTop or d2.scrollTop and 100px And that's it. Let’s briefly analyze the function a:
Math.max(d1.scrollTop,d2.scrollTop) _top-parseInt(me.style.top), Math.max(d1.scrollTop,d2.scrollTop) _top is the final value of me.style.top, By using the setInterval() function to execute a function in a loop, that is, continuously executing parseInt(me.style.top) (Math.max(d1.scrollTop,d2.scrollTop) _top-parseInt(me.style.top))* 0.1 'px', when me.style.top=Math.max(d1.scrollTop,d2.scrollTop) _top, the customer service system is fixed at the specified position.
The above is the entire content of this article, I hope you all like it.