2010-03-17 185 views
1

我有兩個圖像用於錨定標記。我正在使用jQuery切換錨點標記的點擊事件來切換圖像。在圖像之間切換

$(document).ready(function(){ 
     $('#registrationForm').hide(); 
     $('#callform').append("<a id='formlink'>IMAGE 1</a>"); 
     $("#formlink").click(function(){ 
      $('#registrationForm').toggle(function(){ 
       $('#formlink').empty().append(IMAGE 2); 
      }); 
     }); 
    }); 

這適用於第一次,但是我想要切換兩個圖像之間,每當另一個被點擊。 任何想法?

回答

1

我建議首先將兩個圖像,但隱藏第二個圖像。然後您可以將每個鏈接被點擊時切換兩個圖像,而無需跟蹤圖像的狀態:

$(document).ready(function(){ 
    $('#callform').append("<a id='formlink1' class='formlink'>IMAGE 1</a>"); 
    $('#callform').append("<a id='formlink2' class='formlink' style='display: none;'>IMAGE 2</a>"); 
    $(".formlink").click(function(){ 
     $('#formlink1').toggle(); 
     $('#formlink2').toggle(); 
    }); 
}); 
+0

我修改了這種方法來直接切換圖像,但概念的作品,感謝德克斯特。 – Binaryrespawn 2010-03-18 16:03:57

1

當您更改爲IMAGE1時,您可以設置一個標誌。

selected_image = 'image1' 
if(selected_image == 'image1') 
    toggle to image 2 
else 
    toggle to image 1 
1

您的代碼被設計爲在切換完成後添加'IMAGE 2',而沒有其他任何東西。

你可能想是這樣的:

$("#formlink").click(function(){ 
    $('#registrationForm').toggle(function(){  
     var imageToShow = $(this).css('display') == 'none')?'IMAGE 1':'IMAGE 2'; 
     $('#formlink').empty().append(imageToShow); 
    }); 
}); 
0
$(document).ready(function(){ 
    var i = 0; 
    $('#registrationForm').hide(); 
    $('#callform').append("<a id='formlink'>IMAGE 1</a>"); 
    $("#formlink").click(function(){ 
     $('#registrationForm').toggle(function(){ 
      if (++i % 2) { 
       $('#formlink').empty().append(IMAGE 2); 
      } else { 
       $('#formlink').empty().append(IMAGE 1); 
      } 
     }); 
    }); 
}); 
0

這是我怎麼切換圖像

$('.accordion').live('click',function() { 
    if($(this).attr("src").indexOf('closed') == -1){ 
     $(this).attr("src",'img/accordionclosed.gif'); 
    }else{ 
     $(this).("src",'img/accordionopen.gif'); 
    } 
}); 

心連心