2015-12-15 89 views
0

HTML如何顯示隱藏在此基礎上編碼

<script type="text/javascript"> 
$(document).ready(function() { 

    // Add onclick handler to checkbox w/id checkme 

    $('.showimage').click(function() { 

    var id = $(this).attr('id'); 

    var ret = id.split("_"); 
    var str1 = ret[1]; 

    //alert(str1); 
    var id = $(this).attr('id'); 
    var ret = id.split("_"); 
    var str2 = ret[1]; 

    //alert(str2); 

    //$(".icon_"+id).show(); 
    // $("#icon").show(); 

    if (str1 == str2) { 
     alert(str1); 
     $(".icon_" + str1).show(); 
     //exit; 
     //alert("hi") 
    } else { 
     alert("sec"); 
     $(".icon_" + str1).hide(); 
    } 
    }); 
}); 
</script> 

爲什麼不能掩蓋其他部分

+5

請編輯您的帖子,以避免眼睛出血。 – orugari

+0

你能詳細說明什麼是問題,如果可能的話你可以創建一個jsfiddle,http://jsfiddle.net – dreamweiver

+1

你可以使用css':focus' http://jsfiddle.net/2nrda9yv/ –

回答

1

你的問題:爲什麼不能掩蓋其他部分?

這是因爲$(this)它指的是當前元素已獲得事件引發的選擇器的上下文。所以,

var id = $(this).attr('id'); 

上面的變量已經被使用了兩次,並且都指向同一個對象。所以在if條件下:

if (str1 == str2) { 

這兩個值總是相同的,因此else永遠不會被執行。


最好使用.focus()/.blur()事件與.toggle(condition)

$(function(){ 
 
    $('.showimage').on('focus blur', function(e){ 
 
    $(this).next('div').toggle(e.type === "focus") 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" name="name" id="name_1" value="" class="showimage" /> 
 
<div class="icon_1" id="icon" style="display:none;">one</div><br> 
 
<input type="text" name="name" id="name_2" value="" class="showimage" /> 
 
<div class="icon_2" id="icon" style="display:none;">two</div>

+2

謝謝你同性戀的工作 –

+0

我希望上面的評論有拼寫錯誤:) –

+0

@SureshPonnukalai噢人! – Jai

0

input[type="text"] {} input[type="text"] + div { 
 
    display: none; 
 
} 
 
hr {} input[type="text"]:focus + div { 
 
    display: inline-block; 
 
    /* added for style you can also use display:block */ 
 
}
<input type="text" name="name" id="name_1" value="" class="showimage" /> 
 
<div class="icon_1" id="icon">test1</div> 
 
<hr> 
 
<input type="text" name="name" id="name_2" value="" class="showimage" /> 
 
<div class="icon_2" id="icon">test2</div>