Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2010, 10:03
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Разварачивание строк в таблице на jQyery
Всем привет. Нашел один скриптик котрый разварачивает строки в таблице и снова сварачивает при клике.
<script src="jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">  
        $(document).ready(function(){
            $("#report tr:odd").addClass("odd");
            $("#report tr:not(.odd)").hide();
            $("#report tr:first-child").show();
            
            $("#report tr.odd").click(function(){
                $(this).next("tr").toggle();
                $(this).find(".arrow").toggleClass("up");
            });
            //$("#report").jExpand();
        });
    </script>

Я его немного переделать для того чтобы строки раздвигались при наведении мыши:
<script type="text/javascript">  
        $(document).ready(function(){
            $("#report tr:odd").addClass("odd");
            $("#report tr:not(.odd)").hide();
            $("#report tr:first-child").show();
            
            $("#report tr.odd").mouseover(function(){
                $(this).next("tr").toggle();
			
                $(this).find(".arrownext").toggleClass("up");
            });
			$("#report tr.odd").mouseout(function(){
                $(this).next("tr").toggle();
                $(this).find(".arrownext").toggleClass("up");
            });
            //$("#report").jExpand();
        });
    </script>

Но только работает это не так как хочется. При наведении на строку она все таки раздвигается, но если навести на тот див который развернулся, то все сварачивается и назварачивается див другой строки. Как можно поступить? Вот ссылка на сам скрипт http://ruseller.com/lessons.php?rub=32&id=346 а вот ссылка на то как у меня получилось http://locmankvartir.ru/search_obj (естестввенно смотреть в таблице)
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2010, 10:30
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Да. Сама задача вот в чем))) Нужно чтобы при наведении на открывающийся див, он не сварачивался.
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2010, 18:47
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Как я понял подсказать никто не может. Может тогда кто знает как сделать аккордион без дивов в таблице
<script type="text/javascript">
			$(function(){

				// Accordion
				$("#accordion").accordion({ header: "a" });
				
		
				
			});
		</script>

<div id="accordion">
			<div>
				<a href="#">First</a>
				<div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
			</div>
			<div>
				<a href="#">Second</a>
				<div>Phasellus mattis tincidunt nibh.</div>
			</div>
			<div>
				<a href="#">Third</a>
				<div>Nam dui erat, auctor a, dignissim quis.</div>
			</div>
		</div>



Как вместо дивов сделать все это в table tr td

Последний раз редактировалось Suharik, 28.04.2010 в 18:57.
Ответить с цитированием
  #4 (permalink)  
Старый 28.04.2010, 19:16
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

http://mediaformations.com/accordion...s-with-jquery/
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2010, 09:43
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

это не пойдет. С таким же успехом я мог бы просто зацикленной таблицы присвоить уникальный ID и просто обычним кодом открывать и закрывать. примерно так.
openDiv = function (id) {
    document.getElementById(id).style.display = 'block';
};

closeDiv = function (id) {
    document.getElementById(id).style.display = 'none';
};

И дальше онкликом или онмаусом открывать и закрывать.
Мне хочется чтобы был реальный аккордион чтобы красиво открывал див))
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2010, 10:24
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Сообщение от Suharik Посмотреть сообщение
Я его немного переделать для того чтобы строки раздвигались при наведении мыши:
<script type="text/javascript">  
        $(document).ready(function(){
            $("#report tr:odd").addClass("odd");
            $("#report tr:not(.odd)").hide();
            $("#report tr:first-child").show();
            
            $("#report tr.odd").mouseover(function(){
                $(this).next("tr").toggle();
			
                $(this).find(".arrownext").toggleClass("up");
            });
			$("#report tr.odd").mouseout(function(){
                $(this).next("tr").toggle();
                $(this).find(".arrownext").toggleClass("up");
            });
            //$("#report").jExpand();
        });
    </script>
А если вместо mouseover/out использовать mouseenter/mouseleave?

Сообщение от Suharik Посмотреть сообщение
а вот ссылка на то как у меня получилось http://locmankvartir.ru/search_obj (естестввенно смотреть в таблице)
Что-то там в таблице квартир нет никакого фолдинга, или я не туда смотрел?
Ответить с цитированием
  #7 (permalink)  
Старый 29.04.2010, 10:28
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

да я убрал пока. Сейчас попробую и отпишу
Ответить с цитированием
  #8 (permalink)  
Старый 29.04.2010, 10:40
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Не помогло к сожалению. Код пока не убераю. Посмотрите.
Ответить с цитированием
  #9 (permalink)  
Старый 29.04.2010, 11:21
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

$('#report tr.odd').bind('mouseenter mouseleave', function(e) {
    var self = $(this),
        next = self.next();

    if (next[0] === $(e.relatedTarget).closest('tr')[0]) {
        return;
    }

    next.toggle();
    self.find('.arrownext').toggleClass('up');
});

$('#report tr:not(.odd)').bind('mouseenter mouseleave', function(e) {
    var self = $(this),
        prev = self.prev();

    if (prev[0] === $(e.relatedTarget).closest('tr')[0]) {
        return;
    }
    
    self.toggle();
    prev.find('.arrownext').toggleClass('up');
});


P.S. У Вас какая-то трабла с раскраской таблицы. Она сто старта вся серая, а потом по наведению "зебреет" потихоньку.
Ответить с цитированием
  #10 (permalink)  
Старый 29.04.2010, 11:31
Кандидат Javascript-наук
Отправить личное сообщение для Suharik Посмотреть профиль Найти все сообщения от Suharik
 
Регистрация: 06.04.2010
Сообщений: 130

Да, там просто еще один скриптик конфликтует)) про это я вкурсе))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
Видимость строк в таблице Mars_ Общие вопросы Javascript 8 23.01.2013 13:38
Подсчитать кол-во строк в таблице? bobroff jQuery 3 04.12.2009 12:29
Добавление строк в текущий документ deerstop Общие вопросы Javascript 11 24.09.2009 23:17
поменять цвет у нескольких строк в таблице Root Элементы интерфейса 4 21.04.2008 10:30