Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Переключатель ContentTabs (https://javascript.ru/forum/jquery/15704-pereklyuchatel-contenttabs.html)

chest 10.03.2011 12:16

Переключатель ContentTabs
 
есть такой скрипт :
<script language="JavaScript" type="text/JavaScript">function switchContentTabs() {
    var currentPath = window.location.hash;
    var contentId = currentPath.substring(1);
    contentId += '_block';
    var contentDiv = document.getElementById(contentId);
        
    if (contentId != '_block') {
        $('#nav li').removeClass('active');
        $('#nav li a[href=' + currentPath +']').parents('li').addClass('active');
        $('.content_inner').css({'display':'none'});
        contentDiv.style.display = 'block';
    }
        else {
            $('.content_inner').css({'display':'none'});
            document.getElementById('astronomy_block').style.display = 'block';
        }
    }
    
    switchContentTabs();
    
$('#nav li').click(function() {
    $('#nav li').removeClass('active');
    $(this).addClass('active');
    var currentPath = $(this).children('a').attr('href');
    var contentId = currentPath.substring(1);
    contentId += '_block';
    var contentDiv = document.getElementById(contentId);
    $('.content_inner').css({'display':'none'});
    contentDiv.style.display = 'block';
});
</script>

Как сделать, чтобы переключение происходило не через ссылку в <ul><li>.......</li></ul>, а через ссылку на этой странице в любом месте?

walik 10.03.2011 12:39

$('#nav li').click


Вместо #nav li указывай свой элемент.

chest 10.03.2011 12:50

1. указать свой элемент - это типа просто поместить ссылку например в <div></div>? если да то, что нужно ему присваивать (id,class,name?)
2. какой синтаксис при замене (то есть было "#nav li" - поментять на "#имя класа" )
3. заменить нужно все "nav li"?

walik 10.03.2011 12:53

К примеру у вас ссылка:
<a href="#" id="myLink">Моя ссылка</a>


Значит пишите:
$('#myLink').click

chest 10.03.2011 13:16

и тогда нужно будет писать для каждой ссылки отдельно?
а скрипт дальше, вот так:
switchContentTabs();
$('#mylink').click(function() {
    $('#mylink').removeClass('active');
    var currentPath = window.location.hash
    var contentId = currentPath.substring(1);
    contentId += '_block';
    var contentDiv = document.getElementById(contentId);
    $('.content_inner').css({'display':'none'});
    contentDiv.style.display = 'block';
?

chest 10.03.2011 23:23

Все, мне помогли, скрипт тут


Часовой пояс GMT +3, время: 15:49.