Tạo Link Nhấp Nháy Khi Rê Chuột Đến Trong Blog - Thiết Kết Blogger Cho Người Mới Bắt Đầu
expr:class='"loading" + data:blog.mobileClass'>

Dịch Trang Sang Ngôn Ngữ Được Hỗ Trợ

Thứ Ba, 28 tháng 10, 2014

Tạo Link Nhấp Nháy Khi Rê Chuột Đến Trong Blog


   Khi rê chuột vào các đường linh, chúng sẽ đổi màu liên tục,... Cũng thú vị đấy chứ!     
    Thật ra, thủ thuật này không có gì phức tạp hay mới mẻ cả, cái phức tạp là những đoạn mã (code) tạo nên hiệu ứng. Đã có rất nhiều bài viết về thủ thật này. Nhưng nhìn chung, đều không rõ ràng, chi tiết, nên người chưa quen không áp dụng được, hoặc mã bị lỗi từ chính bài viết và không có tác dụng. Theo yêu cầu của bạn Prince Cong. Hôm nay, CCK chia sẻ cách làm cho đường link trong blog nhấp nháy, đổi màu liên tiếp khi rê chuột vào. 


 Bắt đầu thực hiện:


 1. Đăng nhập vào blog, tới "Trang tổng quan - Thiết kế" (xem các ảnh dưới).



2. Bấm vào hình tam giác nhỏ [1], một trình đơn thả xuống. Bấm tiếp vào "Mẫu" [2]. Ở bước này, nếu bạn chưa quen thì nên sao lưu mẫu (template) blog lại để đề phòng sự cố do nhầm lẫn. Nếu chưa hiểu cách sao lưu, bạn có thể tham khảo BÀI VIẾT NÀY! 

  
 3. Bấm vào "Chỉnh sửa HTML" [3] sẽ hiện ra bảng HTML trong template của Blog. Nếu đợi 30 giây vẫn không hiện ra bảng HTML - bấm vào nút "Trở lại" [5], rồi  bấm "Chỉnh sửa HTML" [3] một lần nữa sẽ hiện ra. 


4. Nhấp chuột trái vào một vị trí bất kỳ trong bảng HTML vừa hiện ra rồi bấm tổ hợp phím "Ctrl" + "F" trên bàn phím (bấm và giữ Ctrl rồi bấm F) sẽ hiện ra bên góc phải ô "Search" [4]. Gõ hoặc dán dòng mã </head> vào ô đó và nhấn "Enter" trên bàn phím. Dòng mã </head> [6] sẽ tìm thấy (nằm trong nền màu vàng nhạt). Copy đoạn mã trong khung dưới và dán lên phía trên dòng </head> (tạo một dòng trống bên trên </head> rồi dán vào). 
Nên copy và dán cả dòng chú thích "<!-- Bắt đầu link nhấp nháy --> <!-- Kết thúc link nhấp nháy -->" để khi cần gỡ bỏ hiệu ứng sẽ không nhầm lẫn. 

<!-- Bắt đầu link nhấp nháy -->
    <script type='text/javascript'> 
//<![CDATA[ 
var rate = 20; 
if (document.getElementById) 
window.onerror=new Function("return true") 
var objActive;  // The object which event occured in 
var act = 0;    // Flag during the action 
var elmH = 0;   // Hue 
var elmS = 128; // Saturation 
var elmV = 255; // Value 
var clrOrg;     // A color before the change 
var TimerID;    // Timer ID 
if (document.all) { 
    document.onmouseover = doRainbowAnchor; 
    document.onmouseout = stopRainbowAnchor; 
} 
else if (document.getElementById) { 
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT); 
    document.onmouseover = Mozilla_doRainbowAnchor; 
    document.onmouseout = Mozilla_stopRainbowAnchor; 
} 
function doRainbow(obj) 
{ 
    if (act == 0) { 
        act = 1; 
        if (obj) 
            objActive = obj; 
        else 
            objActive = event.srcElement; 
        clrOrg = objActive.style.color; 
        TimerID = setInterval("ChangeColor()",100); 
    } 
} 

function stopRainbow() 
{ 
    if (act) { 
        objActive.style.color = clrOrg; 
        clearInterval(TimerID); 
        act = 0; 
    } 
} 

function doRainbowAnchor() 
{ 
    if (act == 0) { 
        var obj = event.srcElement; 
        while (obj.tagName != 'A' && obj.tagName != 'BODY') { 
            obj = obj.parentElement; 
            if (obj.tagName == 'A' || obj.tagName == 'BODY') 
                break; 
        } 
        if (obj.tagName == 'A' && obj.href != '') { 
            objActive = obj; 
            act = 1; 
            clrOrg = objActive.style.color; 
            TimerID = setInterval("ChangeColor()",100); 
        } 
    } 
} 

function stopRainbowAnchor() 
{ 
    if (act) { 
        if (objActive.tagName == 'A') { 
            objActive.style.color = clrOrg; 
            clearInterval(TimerID); 
            act = 0; 
        } 
    } 
} 

function Mozilla_doRainbowAnchor(e) 
{ 
    if (act == 0) { 
        obj = e.target; 
        while (obj.nodeName != 'A' && obj.nodeName != 'BODY') { 
            obj = obj.parentNode; 
            if (obj.nodeName == 'A' || obj.nodeName == 'BODY') 
                break; 
        } 
        if (obj.nodeName == 'A' && obj.href != '') { 
            objActive = obj; 
            act = 1; 
            clrOrg = obj.style.color; 
            TimerID = setInterval("ChangeColor()",100); 
        } 
    } 
} 

function Mozilla_stopRainbowAnchor(e) 
{ 
    if (act) { 
        if (objActive.nodeName == 'A') { 
            objActive.style.color = clrOrg; 
            clearInterval(TimerID); 
            act = 0; 
        } 
    } 
} 

function ChangeColor() 
{ 
    objActive.style.color = makeColor(); 
} 

function makeColor() 
{ 
    // Don't you think Color Gamut to look like Rainbow? 
    // HSVtoRGB 
    if (elmS == 0) { 
        elmR = elmV;    elmG = elmV;    elmB = elmV; 
    } 
    else { 
        t1 = elmV; 
        t2 = (255 - elmS) * elmV / 255; 
        t3 = elmH % 60; 
        t3 = (t1 - t2) * t3 / 60; 
        if (elmH < 60) { 
            elmR = t1;  elmB = t2;  elmG = t2 + t3; 
        } 
        else if (elmH < 120) { 
            elmG = t1;  elmB = t2;  elmR = t1 - t3; 
        } 
        else if (elmH < 180) { 
            elmG = t1;  elmR = t2;  elmB = t2 + t3; 
        } 
        else if (elmH < 240) { 
            elmB = t1;  elmR = t2;  elmG = t1 - t3; 
        } 
        else if (elmH < 300) { 
            elmB = t1;  elmG = t2;  elmR = t2 + t3; 
        } 
        else if (elmH < 360) { 
            elmR = t1;  elmG = t2;  elmB = t1 - t3; 
        } 
        else { 
            elmR = 0;   elmG = 0;   elmB = 0; 
        } 
    } 
    elmR = Math.floor(elmR).toString(16); 
    elmG = Math.floor(elmG).toString(16); 
    elmB = Math.floor(elmB).toString(16); 
    if (elmR.length == 1)    elmR = "0" + elmR; 
    if (elmG.length == 1)    elmG = "0" + elmG; 
    if (elmB.length == 1)    elmB = "0" + elmB; 
    elmH = elmH + rate; 
    if (elmH >= 360) 
        elmH = 0; 
    return '#' + elmR + elmG + elmB; 
}
//]]> 
</script>
<!-- Kết thúc link nhấp nháy -->  
 

Cuối cùng:

Bấm "Lưu mẫu" và trở lại trang chủ xem thành quả.

Không có nhận xét nào:

Đăng nhận xét