Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 30.06.2017, 17:20
Аспирант
Отправить личное сообщение для crystaltrumpet Посмотреть профиль Найти все сообщения от crystaltrumpet
 
Регистрация: 28.06.2017
Сообщений: 42

Сообщение от рони Посмотреть сообщение
crystaltrumpet,
может так сработает
$(window).on("load", function() {
    var a = $(".tabflex .tab");
    a.click(function() {
        a.css("background", "rgba (128,128,128, 0.5)");
        $(this).css("background", "gray")
    });

    function out() {
        var elem = $(":target"),
            str = "все блоки закрыты";
        if (elem.length) str = "блок " + elem[0].id + " открыт";
        $("#state").text(str)
    }
    $(window).on("hashchange", out).trigger("hashchange");

});
Ронни - сработало) Вы гений! Я бы в жизнь не додумался до такого.
Огромное спасибо и респект!
Последний вопрос:
а можно с помощью этого выражения, что вы написали при загрузке страницы чтобы подвсечивался нужный tab?
а то при перезагрузке страницы все табы одного цвета.

Последний раз редактировалось crystaltrumpet, 30.06.2017 в 17:27.
Ответить с цитированием
  #32 (permalink)  
Старый 30.06.2017, 17:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

crystaltrumpet,
строка 11
if(elem.length) {
   var id = elem[0].id;
   str = "блок " + id + " открыт";
   id = {"id1" : 0, "id2" : 1, "id3" : 2}[id];
   a.eq(id).css("background","gray");
  };
Ответить с цитированием
  #33 (permalink)  
Старый 30.06.2017, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

crystaltrumpet,
должно так работать
$(window).on("load", function() {
var a=$(".tabflex .tab");
function out()
{
  var elem = $(":target"), str = "все блоки закрыты";
  if(elem.length) {
   var id = elem[0].id;
   str = "блок " + id + " открыт";
   id = {"id1" : 0, "id2" : 1, "id3" : 2}[id];
   a.css("background","rgba (128,128,128, 0.5)");
   a.eq(id).css("background","gray");
  }
  $("#state").text(str)
}
$(window).on("hashchange", out).trigger("hashchange");

});
Ответить с цитированием
  #34 (permalink)  
Старый 30.06.2017, 17:58
Аспирант
Отправить личное сообщение для crystaltrumpet Посмотреть профиль Найти все сообщения от crystaltrumpet
 
Регистрация: 28.06.2017
Сообщений: 42

Рони, только заметил что все эти ссылки работают только если нажимаешь контрал+ ф5 ((
в общем ладно.. не буду Вас мучать.. наверно вся это затея с хешами и обновлению по отслеживанию :target полная ерунда.. это больше мой прокол, я сам поставил задачу делать условие через таргет а он работает очень глючно(
единственное как я думаю можно отследить это по url адресу
если написать условие что если переходишь по ссылке где в конце #id2 тогда выполняем подсветку tab[1]
такие еть инструменты в js ?

Последний раз редактировалось crystaltrumpet, 30.06.2017 в 18:12.
Ответить с цитированием
  #35 (permalink)  
Старый 30.06.2017, 18:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

crystaltrumpet,
может убрать лишнее href="/about#id2">
Сообщение от crystaltrumpet
такие еть инструменты в js ?
куча тем
Подсветка строки при переходе по якорю
https://javascript.ru/forum/jquery/5...tml#post393339
Плавный скролл к div после клика, но уже на другой странице
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в мозиле не работает jquery код? blazer-05 jQuery 20 27.02.2017 21:42
Метод JQuery $.post работает через раз Dimaz AJAX и COMET 3 22.11.2012 17:52
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
не работает колесо в jquery knark jQuery 3 24.06.2012 12:23
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50