2013-11-14 2 views
0

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

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

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

   <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> 

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

Спасибо.

+0

Опубликуйте вопрос в скрипку – DaniP

+0

Fiddle здесь: [ссылка] (http://jsfiddle.net/h6ty4/2/) – gmcswegan

ответ

0

Я думаю, вы ищете что-то вроде этого. Обратите внимание, что нет элемента #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. – gmcswegan

Смежные вопросы