Переключатель на JS

JavaScript: Переключатель на JS
Иногда необходимо в одном и том же месте страницы выводить два или более блоков с контентом, с возможностью выбора.
Так же иногда полезно держать на странице скрытую информацию и выводить ее только после клика по какой нибудь кнопочки.
Для всего этого нам необходимо воспользоваться Ajax, который в свою очередь поможет нам в реализации задуманного.

Для того чтобы нам начать писать скрипт, нам необходимо сначала сверстать кнопочки и блоки, а так же присвоить им идентификатор (уникальный id) который будет определять нужный нам блок.

Ниже приведу полный html код с уже готовым скриптом
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<style>
    input {padding:7px 32px;}
    #block_1,#block_2 {width:260px;padding:10px;}
    #block_1 {border:1px solid #D8F0FF;background: #EDF4FF;}
    #block_2 {border:1px solid #D8FFDC;background: #EAFFEF;}
</style>
<script>
    $('input[name="block_1"]').live('click', function(){
        $.ajax({
            success: function(data) {
                $('#block_1').attr('style','display:block');
                $('#block_2').attr('style','display:none');
            }});
        });
    $('input[name="block_2"]').live('click', function(){
        $.ajax({
            success: function(data) {
                $('#block_2').attr('style','display:block');
                $('#block_1').attr('style','display:none');
            }});
        });
</script>
</head>
<body>
    <input type="button" name="block_1" value="Кнопочка 1">
    <input type="button" name="block_2" value="Кнопочка 2">

    <div id="block_1" style="display:none">
        текст для блока 1
    </div>
    <div id="block_2" style="display:none">
        текст для блока 2
    </div>
</body>
</html>

Теперь объясню его работу.
У нас есть кнопочка с name block_1 и скрытый div с идентификатором block_1.
При клике на input
$('input[name="block_1"]').live('click', function()


Выполняем правку hml кода
$('#block_2').attr('style','display:block');
                $('#block_1').attr('style','display:none');


Первый блок раскрываем, а второй скрываем, если он был открыт.
Со вторым все точно так же.
demo версия

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.