2012-04-09 43 views
19

Tôi muốn rằng part 1 thay đổi kiểu div onclick và part 2 một lần nữa khi nhấp vào nó sẽ trở lại bình thường. Tôi đã thử làm như vậy nhưng tôi đã không đạt được kết quả part 2.Thay đổi Javascript Kiểu Div

Tiếp theo là các mã Javascript

function abc() { 
    document.getElementById("test").style.color="red"; 
} 

Sau khi nhấp vào div kiểm tra một lần nữa, màu sắc nên trở về với defaulr màu tức là màu đen ...

+1

bài sự kiện của bạn ràng buộc đang –

Trả lời

31
function abc() { 
    var color = document.getElementById("test").style.color; 
    if (color === "red") 
     document.getElementById("test").style.color="black"; 
    else 
     document.getElementById("test").style.color="red"; 
} 
+0

nhập nếu câu của bạn, tại sao không 'color = "black" 'và' color = "red" '. bạn đã giữ màu –

+1

@AbdullahGheith 'color' chỉ là * tên * của biến. Tôi có thể đặt tên nó là 'bob' hoặc bất cứ điều gì tôi muốn. Tôi đã lưu trữ màu trong 'màu'. –

+0

Tôi có nghĩa là trong dòng sau nếu và dòng sau khi khác –

0

bạn có thể kiểm tra màu sắc trước khi bạn nhấp để thay đổi nó.

function abc(){ 
    var color = document.getElementById("test").style.color; 
    if(color==''){ 
     //change 
    }else{ 
     //change back 
    } 
} 
1

Có một số logic để kiểm tra màu sắc hoặc có một số lá cờ,

function abc() { 
    var currentColor = document.getElementById("test").style.color; 

    if(currentColor == 'red'){ 
    document.getElementById("test").style.color="black"; 
    }else{ 
    document.getElementById("test").style.color="red"; 

    } 
} 
+0

Điều này có thể không hoạt động đối với tất cả các trình duyệt –

0

Một câu lệnh switch đơn giản nên làm các trick:

function abc() { 
    var elem=document.getElementById('test'),color; 
    switch(elem.style.color) { 
     case('red'): 
      color='black'; 
      break; 
     case('black'): 
     default: 
      color='red'; 
    } 
    elem.style.color=color; 
} 
0
function abc() { 
    var color = document.getElementById("test").style.color; 
    color = (color=="red") ? "black" : "red" ; 
    document.getElementById("test").style.color= color; 
} 
0

Better thay đổi lớp phần tử (.regular là màu đen, .alert là màu đỏ):

function abc(){ 
    var myDiv = document.getElementById("test"); 
    if (myDiv.className == 'alert') { 
    myDiv.className = 'regular'; 
    } else { 
    myDiv.className = 'alert'; 
    } 
} 
2

Sử dụng jQuery:

$(document).ready(function(){ 
    $('div').click(function(){ 
     $(this).toggleClass('clicked'); 
    }); 
});​ 

Live example

+0

Ví dụ tốt! Đơn giản và tuyệt vời! :) –

Các vấn đề liên quan