• 08-06-2015, 14:49:02
    #1
     <script type="text/javascript">
                function show(str){
                    
    				document.getElementById('sh3').style.display = 'none';
    				document.getElementById('sh2').style.display = 'none';
                    document.getElementById('sh1').style.display = 'block';
                }
                function show2(sign){
                    document.getElementById('sh2').style.display = 'block';
                    document.getElementById('sh1').style.display = 'none';
    				document.getElementById('sh3').style.display = 'none';
                }
    			function show3(sign){
                    document.getElementById('sh3').style.display = 'block';
                    document.getElementById('sh1').style.display = 'none';
    				document.getElementById('sh2').style.display = 'none';
                }
    			
            </script>

    örneğin 3 tane radio button var diyelim , bir tanesine tıklayınca diğer 2 si kapanıyor,

    bu kodlardan 20 tane yapmak istesem sh3 sh4 sh5 diye fazlalaştırıp üzerine show20 ye kadar goturmem gerekicek.

    phpninde kodlarını karman çorman yaparım o zaman,


    istedigim şekilde bu kodu kısaltmamın yolu var mı

    sh1 e tıkladıgımda geri kalan hepsi otomatikman gosterilmesin gibi.
  • 08-06-2015, 15:23:03
    #2
    jquery kullanırsanız ilk fonskiyonunuz üzerinde bir kaç değişiklik tüm istediğinizi yapabilir. Frameworkler bize dilleri unutturur oldu.

    <!DOCTYPE html>
    <html>
    <head>
    <style>
    div[id^="content"]{
    	display:none;
    }
    div[id^="content"]:nth-of-type(1){
    	display:block;
    }
    </style>
    <script type="text/javascript">
    function show(id){
    	var count = 3;
    	var num = id.split("-");
    
    	for(i=1; i<count+1; i++){
    		document.getElementById('content-'+i).style.display = 'none';
    	}
    	
    	document.getElementById('content-'+num[1]).style.display = 'block';
    	
    	return false;
    } 
    </script>
    </head>
    <body>
    <a id = "tab-1" onclick="return show(this.id)" href="#">sh1</a>
    <a id = "tab-2" onclick="return show(this.id)" href="#">sh2</a>
    <a id = "tab-3" onclick="return show(this.id)" href="#">sh3</a>
    
    <div id="content-1"> content 1</div>
    <div id="content-2"> content 2</div>
    <div id="content-3"> content 3</div>
    </body>
  • 08-06-2015, 15:29:15
    #3
    bu çok mantıklı oldu ya radio odaklandım nıyeyse teşekkürler
  • 08-06-2015, 15:37:07
    #4
    ya da jquery kullanarak bu işi daha güzelce çözebilirsin

    <script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script type="text/javascript">
    function showIt(id) {
    	$('a[id^=sh]').hide();
    	$('a[id=sh'+id+']').show();
    }
    </script>