соответствовать высоте верхней вкладки - чтобы установить высоту слайда

0

Я использую вариацию jquery idtabs на вкладке согласования/слайда.

Высота слайда задается содержимым содержимого # tab1, однако это часто не самая высокая вкладка -as, содержимое результата на других вкладках может быть не полностью видимым.

Код слайда выглядит следующим образом:

                <script>
            $(function(){
                var slideHeight = 305; // px
                var defHeight = $('#wrap').height();
                if(defHeight >= slideHeight){
                    $('#wrap').css('height' , slideHeight + 'px');
                    $('#read-more').append('<a href="#">SHOW MORE</a>');
                    $('#read-more a').click(function(){
                        var curHeight = $('#wrap').height();
                        if(curHeight == slideHeight){
                            $('#wrap').animate({
                              height: defHeight
                            }, "normal");
                            $('#read-more a').html('SHOW LESS');
                            $('#gradient').fadeOut();
                        }else{
                            $('#wrap').animate({
                              height: slideHeight
                            }, "normal");
                            $('#read-more a').html('SHOW MORE');
                            $('#gradient').fadeIn();
                        }
                        return false;
                    });
                }
            });

            </script>

Я убежден, что использование варианта в исходном коде должно решить проблему, но я могу, похоже, успешно слить сценарии.

                <script>

                $(function(){

                var heighest = 0;
                $('#wrap').each(function(){
                    heighest = ($(this).height() > heighest) ? $(this).height() : heighest;

                });

                $('#wrap').css('height',heighest + 'px');

            });

            </script>

Любая помощь/предложения будет оценена -this не моя область, я человек с картинками.

Благодарю.

  • 0
    Опубликуйте свой вопрос в скрипке
  • 0
    Скрипка здесь: ссылка

1 ответ

0
Лучший ответ

Я думаю, вы ищете что-то вроде этого. Обратите внимание, что нет элемента #wrap, и даже если бы он был, $('#wrap').each(...) #wrap $('#wrap').each(...) всегда просто воздействует на один элемент. Кроме того, рассмотрите, какие элементы должны отображаться в видимой области

<script>
    $(function() {
        var slideHeight = 50, // px
            wrapHeight = $('#wrap3').height();

        $('#wrap3 .usual2 div').each(function(){
            wrapHeight = ($(this).outerHeight() > wrapHeight) ? $(this).outerHeight() : wrapHeight;
        });
        defHeight = wrapHeight + slideHeight;

        if(defHeight >= slideHeight) {
            (...etc)
  • 0
    Спасибо. Решение работало, но мне нужно было удалить «+ slideHeight» в выражении «defHeight =»; очистить дополнительные пробелы, добавленные комбинацией 2.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню