Thaimisc.com : ทำข้อความหมุน 360 องศาและหมุนรอบตัวเอง
ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us | Colocation | Web Hosting | เปิดร้านค้าฟรี


Category : Today's Tips Print Article Only Print Aticle With Comment
ทำข้อความหมุน 360 องศาและหมุนรอบตัวเอง
เขียนโดย Poj , 16-07-2007
ทำข้อความหมุน 360 องศา พร้อมกับหมุนรอบตัวเองพร้อมกันไปด้วย ดูตัวอย่างได้ ที่นี่ ครับ

1.นำโค้ดส่วนนี้ไปใส่ไว้ใน <head>....</head> ครับ

<style>
v:* {BEHAVIOR: url(#default#VML)}
</style>

<SCRIPT language="javascript">
<!--
//Realise by ApacheJeff
// www.huntingground.freeserve.co.uk

// USER FUNCTIONS
function Effect1(){

// กรอกตำแหน่งที่ให้แสดงข้อความที่ด้านล่างครับ ตรง StartPosx กับ StartPosy นะครับ
// ทั้ง 2 ชุดต้องกรอกให้ตรงกันนะครับ

/* ชุดที่ 1 */
F_StartPosx = 520; F_StartPosy = 150; F_RadiusX = 100; F_RadiusY = 100; F_Start = 180
F_End = 360; F_Step = 10; F_Fullcircle = 1; F_Direction = 1

/* ชุดที่ 2 */
T_StartPosx = 520; T_StartPosy = 150; T_RadiusX = 100; T_RadiusY = 100; T_Start = 0
T_End = 360; T_Step = 10; T_Fullcircle = 1; T_Direction = 1

Scrolling=0
Text_Scroll = 10
text.string = "Welcome" // ข้อความที่ต้องการ
Initialise()
}
// END USER FUNCTIONS

// MAIN FUNCTIONS
function Initialise(){
if(F_Direction==1){
F_Radian=0.017453292519943295} // Clockwise
else{F_Radian= -0.017453292519943295 } // Anti-Clockwise

F_Start_Angle = F_Radian * F_Start
F_Step_Angle = F_Radian * F_Step
F_End_Angle = F_Radian * F_End
F_A=F_Start_Angle
F_cx=F_StartPosx//+Radius
F_cy=F_StartPosy//+Radius
F_timer=""
F_MoveArc()

if(T_Direction==1){
T_Radian=0.017453292519943295} // Clockwise
else{T_Radian= -0.017453292519943295 } // Anti-Clockwise
T_Start_Angle = T_Radian * T_Start
T_Step_Angle = T_Radian * T_Step
T_End_Angle = T_Radian * T_End
T_A=T_Start_Angle
T_cx=T_StartPosx//+Radius
T_cy=T_StartPosy//+Radius
T_timer=""
T_MoveArc()

document.getElementById("obj").style.visibility="visible"
}

function F_MoveArc(){
clearTimeout(F_timer)
F_A+=F_Step_Angle
F_cos=Math.cos(F_A)
F_sin=Math.sin(F_A)
F_PosX=(F_RadiusX*F_cos)+F_cx
F_PosY=(F_RadiusY*F_sin)+F_cy

obj.from=parseInt(F_PosX/1.3333)+','+parseInt(F_PosY/1.3333)

Scroll_Text() //

if(F_Direction==1){
if(F_Fullcircle==1){
F_whole()
F_timer=setTimeout("F_MoveArc()",100)
return
}
F_reverse_clockwise()
}
else{
if(F_Fullcircle==1){
F_whole()
F_timer=setTimeout("F_MoveArc()",100)
return
}
F_reverse_anti_clockwise()
}
F_timer=setTimeout("F_MoveArc()",100)
}

function F_reverse_clockwise(){ // Reverse path in Clockwise direction
if(F_A>F_End_Angle || F_A<F_Start_Angle){
F_Step_Angle = -F_Step_Angle
return
}
}

function F_reverse_anti_clockwise(){ // Reverse path in Anti-Clockwise direction
if(F_A<F_End_Angle || F_A>F_Start_Angle){
F_Step_Angle = -F_Step_Angle
return
}
}

function F_whole(){
if(F_Direction==1){
if(F_End_Angle>360){
F_End_Angle=F_Start_Angle
}
else{
if(F_Direction==0){
if(F_End_Angle<0){
F_End_Angle=F_Start_Angle
}
}
}
}
}

function T_MoveArc(){
clearTimeout(T_timer)
T_A+=T_Step_Angle
T_cos=Math.cos(T_A)
T_sin=Math.sin(T_A)
T_PosX=(T_RadiusX*T_cos)+T_cx
T_PosY=(T_RadiusY*T_sin)+T_cy

obj.to=parseInt(T_PosX/1.3333)+','+parseInt(T_PosY/1.3333)
if(T_Direction==1){
if(T_Fullcircle==1){
T_whole()
T_timer=setTimeout("T_MoveArc()",100)
return
}
T_reverse_clockwise()
}
else{
if(T_Fullcircle==1){
T_whole()
T_timer=setTimeout("T_MoveArc()",100)
return
}
T_reverse_anti_clockwise()}
T_timer=setTimeout("T_MoveArc()",100)
}

function T_reverse_clockwise(){ // Reverse path in Clockwise direction
if(T_A>T_End_Angle || T_A<T_Start_Angle){
T_Step_Angle = -T_Step_Angle
return
}
}

function T_reverse_anti_clockwise(){ // Reverse path in Anti-Clockwise direction
if(T_A<T_End_Angle || T_A>T_Start_Angle){
T_Step_Angle = -T_Step_Angle
return
}
}

function T_whole(){
if(T_Direction==1){
if(T_End_Angle>360){
T_End_Angle=T_Start_Angle
}
else{
if(T_Direction==0){
if(T_End_Angle<0){
T_End_Angle=T_Start_Angle
}
}
}
}
}
// END MAIN FUNCTIONS

//SCROLL FUNCTIONS
txt=new Array()
txt[0]="This function"
txt[1]="Is still under"
txt[2]="Construction"
txt[3]="But should be"
txt[4]="Ready soon"

index=0
Scrolling=0
//Text_Scroll = 0 // position at which the text is changed, added to user functions

function Scroll_Text(){
if(Scrolling==0){
index=0
return}
if(index==txt.length){index=0}
Text_Change_Position=Math.floor(Math.acos(F_cos)/F_Radian) // convert to degrees and round up

step=F_Step

Display.innerText="Position "+Text_Change_Position+" Change at "+Text_Scroll//Math.floor(Text_Scroll/step)*step
if(Text_Change_Position== Text_Scroll){
text.string=txt[index]
index++
}
}
//END SCROLL FUNCTIONS
setTimeout("Effect1()",1000)
// -->
</script>
<!--[if gte mso 9]>
<xml><o:shapedefaults v:ext="edit" spidmax="1027"/>
</xml><![endif]-->



2.นำโค้ดส่วนนี้ไปใส่ไว้ใน <body>....</body> ครับ

<!--[if gte vml 1]><v:line id="obj"
o:spid="_x0000_s1025" from="0,-738.75pt" to="0,11.25pt" filled="t"
fillcolor="red">
<v:path textpathok="t"/>
<v:textpath on="t" id="text" fitpath="t"/>
</v:line><![endif]-->



3. เพิ่มโค้ดส่วนนี้ใน <html> ครับ

<html xmlns:v = "urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns="http://www.w3.org/TR/REC-html40">



Credit : codetukyang
<- Back | Next ->

ThaiMisc.Com : Free Webboard | Free GuestBook | Free Poll | Free Ecard Server | Free Java Chat Room | Advertising | Contact Us
Copyright 1999-2006 Thailand Miscellaneous. Allrights reserved. webmaster@thaimisc.com