javascript實現線上客服效果_javascript技巧
線上客服系統在大量的網站都有應用,特別是銷售類網站,可以有效的增加網站的可用性,便於客戶及時聯繫商家,從而增加了交易成功的可能性,在線客服系統的實現方式有多種多樣,這裡介紹一種網上常見且非常美觀的客服系統,以此達到舉一反三的目的,能夠比較輕鬆的實現其他外觀形式的客服系統,代碼示例如下:
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>
以上程式碼實現了我們想要的在網頁一側漂浮的客服系統。以下就簡單介紹如何實現次效果:
一.實現原理:
將整個客服系統所在的softwhy物件設定為絕對定位,然後在預設狀態下,將它的left屬性值設為一個恰當的負值,這樣它主體部分就會被隱藏,只顯示提示部分:
預設狀態下被隱藏的主體部分。
預設狀態下顯示的提示部分。
當滑鼠放在放在提示部分(也就是放在softwhy物件)時候,透過呼叫對應的函數,使用setInterval()不斷的加大left屬性值來實現客服主體部分逐漸顯示的效果。當滑鼠離開softwhy物件的時候,再透過呼叫對應的函數,使用setInterval()不斷的減少left屬性值來實現客服主體部分的逐漸隱藏。
softwhy物件top屬性值在這裡可能是個難點,它實現了當拖曳捲軸的時候,客服系統具有比較任性的「彈性」的感覺,並且最終能夠固定在距離視窗頂端100px的垂直位置上,此效果是結合a函數和setInterval(a,10 parseInt(Math.random()*20))實現的,這裡簡單介紹一下a函數的原理,主要是個數學問題:
我們想要實現的效果就是無論怎麼拖曳滾動條,客服系統最終在垂直位置上距離視窗上邊緣100px,也就是說只要將top屬性值設為d1.scrollTop或d2.scrollTop與100px之和就可以了。下面簡單對a函數進行一下分析:
Math.max(d1.scrollTop,d2.scrollTop) _top-parseInt(me.style.top)中,Math.max(d1.scrollTop,d2.scrollTop) _top就是me.style.top的最終值,在使用setInterval()函數循環執行a函數,也就是不斷的執行parseInt(me.style.top) (Math.max(d1.scrollTop,d2.scrollTop) _top-parseInt(me.style.top))* 0.1 'px',當me.style.top=Math.max(d1.scrollTop,d2.scrollTop) _top的時候,客服系統也就是固定在指定的位置了。
以上所述就是本文的全部內容了,希望大家能夠喜歡。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

微信中是可以自由聯絡客服來幫助自己解決使用中遇到的問題。有些用戶並不清楚微信的線上客服在哪裡找。只要在設定的幫助與回饋中選擇線上諮詢即可。這篇微信線上客服聯絡方法介紹就能告訴大家具體的操作方法,以下就是詳細介紹,趕快看看吧!微信使用教學微信線上客服在哪裡找答:在設定的幫助與回饋中選擇線上諮商即可具體方法:1、點選【我】中的【設定】。 2、往下拉,點選【幫助與回饋】。 3.點選右下角的【線上諮詢】。 4.即可自動跳轉騰訊客服。需要人工服務的話輸入【人工】並發送即可。

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。
